solr 重要的知识点

1 solr 查询参数说明

常用

1) q - 查询字符串,必须的。
2) fl - 指定返回那些字段内容,用逗号或空格分隔多个。
3) start - 返回第一条记录在完整找到结果中的偏移位置, 0 开始,一般分页用。
4) rows - 指定返回结果最多有多少条记录,配合 start 来实现分页。
5) sort - 排序,格式: sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:( inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。注:排序字段 只能针对数值型如: int,dobuble 等…
6) wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3 增加的,要用通知我们,因为默认没有打开。
7) fq - ( filter query)过虑查询,作用:在 q 查询符合结果中同时是 fq 查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字 mm,并且 date_time 是 20081001 到 20091031 之间的。官方文档:http://wiki.apache.org/solr/CommonQueryParameters#head-6522ef80f22d0e50d2f12ec487758577506d6002

2) 不常用

1) q.op - 覆盖 schema.xml 的 defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定
2) df - 默认的查询字段,一般默认指定
3) qt - ( query type)指定那个类型来处理查询请求,一般不用指定,默认是 standard。
3) 其它
1) indent - 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试 json,php,phps,ruby 输出才有必
要用这个参数。
2) version - 查询语法的版本,建议不使用它,由服务器指定默认值。

2 solr检索运算符

1. “ :” 指定字段查指定值,如返回所有值*:*
2. “ ?” 表示单个任意字符的通配
3. “ *” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
4.“ ~” 表示模糊检索,如检索拼写类似于” roam”的项这样写: roam~将找到形如foam和roams的单词; roam~0.8,检索返回相似度在0.8以上的记录。
5. 邻近检索,如检索相隔10个单词的” apache”和” jakarta”,” jakarta apache” ~10
6. “ ^” 控制相关度检索,如检索jakarta apache,同时希望去让” jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache
7. 布尔操作符AND、 ||
8. 布尔操作符OR、 &&
9. 布尔操作符NOT、 !、 - (排除操作符不能单独与项使用构成查询)
10.“ +” 存在操作符,要求符号” +”后的项必须在文档相应的域中存在
11. ( ) 用于构成子查询
12. [] 包含范围检索,如检索某时间段记录,包含头尾, date:[200707 TO 200710]
13. {} 不包含范围检索,如检索某时间段记录,不包含头尾 date:{200707 TO 200710} 注:范围检索字段只适用于:String,int,dobule,date不能用于long型的字段
14. \ 转义操作符,特殊字符包括+ - && || ! ( ) { } [ ] ^ ” ~ * ? : \

3 字段增加权重

在很多时候,我们可能会需要增加某一个字段的权重,以合理的显示搜索结果。
例如:有一个schma,有三个字段: chapterId, title, content. 我们希望某一个关键字如果在title中匹配了,就要优先显示,而在content中匹配了,就放在搜索结果的后面。当然,如果两者同时匹配当然没什么好说的了。看看solr中如何做到吧。
title:(test1 test2)^4 content:(test1 test2)
给title字段增加权重,优先匹配,关于^后面的数字4,经过我测试,最佳值应该是有n个字段就写成n+1,当然希望大家能更好的去测试!


时间: 2024-08-08 13:59:29

solr 重要的知识点的相关文章

Solr相关知识点串讲

Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API,但它只作为一个API库存在,而不能直接用于搜索.因此,Solr基于Lucene构建了一个完整的搜索引擎,它可以为搜索引擎添加文档,对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等. 一.概述 (一)基础内容 1.Solr的版本号与Lucene的版本号保持一直,直到2014年7月,最新版本号为4.9.0. 2.Solr提供了一个e

【solr基础教程之中的一个】Solr相关知识点串讲

Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API.但它仅仅作为一个API库存在.而不能直接用于搜索. 因此,Solr基于Lucene构建了一个完整的搜索引擎.它能够为搜索引擎加入文档.对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等. 一.概述 (一)基础内容 1.Solr的版本与Lucene的版本保持一直,直到2014年7月,最新版本为4.9.0. 2.Solr提供了一个ex

Solr集群、KI分词、项目实战

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 讲师本人之前在互联网大数据.国家水电数据中心方面的项目时,对海量数据的查询和检索都采用了solr的集群服务,达到高效的实时搜索效果,为满足越来越多大数据人才的需求,特意整理录制成视频,适合各层次学员学习本视频的知识点,当然课程中的知识点大家一看也就知道

Solr基础教程之环境搭建(一)

一.开篇一点概念 最近想深入研究下solr,顺便记录一些知识点,以供后来者. 1.Solr是什么东西 Solr是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中. Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式). 它易于安装和配置,而且附带了一个基于HTTP 的管理界面. 2.Solr的特性包括 高级的全文搜索功能 专为高通量的网络流量进行的优化 基于开放接口(XML和HTTP)的标准 综

Solr入门和实践以及我对Solr的8点理解

友情提示Solr的内容还是比较多的,一篇文章只能讲解一部分.全面介绍,没兴趣,没时间,也没能力,回报还不大.本文只写点我认为比较重要的知识点,独特的个人想法.仅供参考哦,更多细节需要自己去琢磨. 概述Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎. 工作方式文档通过Http利用XML 加到一个搜索集

电商论道---(2)Solr全文搜索引擎的准备工作

Solr是一个基于Lucene的全文搜索引擎,提供了更丰富的搜索语言,更灵活的配置,更高的查询效率.一句话,与Lucene相比,有过之而无不及.这一节里, 主要谈论两个知识点:Jdk的安装和Tomcat的安装. Solr服务器端使用的是JAVA,所以我们需要安装这两个软件. 有朋友可能说,安装这两个软件就不用讲了吧,其实不然, 对于.NET的同学来说,他们对这两个软件比较陌生. 首先要安装JDK,然后再安装Tomcat,按顺序安装 1.JDK的安装 1.1下载地址:http://www.orac

Solr集群搭建详细教程(二)

注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人[email protected]. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意,在搭建solr集群前,建议最好有一个solr服务是已经搭建好的,可以简化大量重复的配置操作. 单机solr服务搭建过程参看我的这篇文章: Solr服务在Linux上的搭建详细教程 这个单机solr服务在solr集群搭建第二步和第三步里需要,搭建好一个solr服务后,就可以进行集群搭建了. 第一步

全文搜索知识点概要(思维导图)

引言 文章(全文搜索引擎 ElasticSearch 还是 Solr?) 这篇文章总结的很好, 将全文搜索的知识点总结的很有条理,为了更好的理解,我专门根据文章内容整理了一个思维导图,期望能对学习全文搜索 和 elasticsearch 的同学提供一个指导. 思维导图 系列文章列表 Elasticsearch 系列文章汇总(持续更新...) 原文地址:https://www.cnblogs.com/reycg-blog/p/10048815.html

H5移动端知识点总结

移动开发基本知识点 一. 使用rem作为单位html { font-size: 100px; }@media(min-width: 320px) { html { font-size: 100px; } }@media(min-width: 360px) { html { font-size: 112.5px; } }@media(min-width: 400px) { html { font-size: 125px; } }@media(min-width: 640px) { html { f