solr查询语法

solr查询参数

半城伤御伤魂 提交于 2020-04-08 08:28:10
部分摘自: http://blog.csdn.net/u010342038/article/details/52997388 界面: 参数说明: 注意,以下是对所有的查询解析器都通用的参数。 defType :选择用来处理查询的查询分析器。 q (query)查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fq (filter query)过虑查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1 的,并且sort是1到5之间的。 sort 排序方式,例如id desc 表示按照 "id" 降序 start 返结果的第几条记录开始,一般分页用,默认0开始 rows 指定返回结果最多有多少条记录,默认值为 10,配合start实现分页 fl (field list) 指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort 回 df (default field) 默认的查询字段,一般默认指定。 wt (writer type)指定输出格式,有 xml, json, php等 indent 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps

Solr查询语法

烈酒焚心 提交于 2020-04-06 07:18:01
查询参数 常用: q - 查询字符串,必须的。 fl - 指定返回那些字段内容,用逗号或空格分隔多个。 start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。 rows - 指定返回结果最多有多少条记录,配合start来实现分页。 sort - 排序,格式: sort=<field name>+<desc|asc>[,<field name>+<desc|asc>] 。示例:(inStock desc, price asc)表示先 "inStock" 降序, 再 "price" 升序,默认是相关性降序。 wt - (writer type)指定输出格式,可以有 xml, json, php, phps。 fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如: q=mm&fq=date_time:[20081001 TO 20091031] ,找关键字mm,并且date_time是20081001到20091031之间的 不常用: defType : q.op - 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定 df - 默认的查询字段,一般默认指定 qt - (query type)指定那个类型来处理查询请求,一般不用指定

solr的一些查询语法

我是研究僧i 提交于 2020-04-06 06:02:53
以下内容来自solr中国 1.1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称. 1.2. 查询规则: 如欲查询特定字段(非预设字段),请在查询词前加上该字段名称加 “:” (不包含”号) 符号, 例如: address:北京市海淀区上地软件园 tel:88xxxxx1 1>. q代表query input 2>. version代表solr版本(建议不要变动此变量) 3>. start代表显示结果从哪一笔结果资料开始,预设为0代表第一笔, rows是说要显示几笔数据,预设为10笔 (因为有时查询结果可能有几百笔,但不需要显示所有结果,所以预设是从第一笔开始到第十笔) 所以若要显示第10到30笔就改为: http: //localhost:8080/solr/select/?indent=on&version=2.2&q=address:北京 市海淀区上地软件园+tel:88xxxxx1&version=2.2&start=10&rows= 20&indent=on (indent代表输出的xml要不要缩行.预设为开启 on) 1.3. 另外,要限定输出结果的内容可用 “fl=” 加上你要的字段名称,如以下这个范例: http: //localhost

Solr查询解析器大全

南笙酒味 提交于 2020-03-21 09:19:06
一.字段查询解析器   字段查询解析器在指定字段中搜索词项或短语,可以使用该字段定义的任何文本分析方式。f参数指明要进行词项或短语搜索的字段,语法如下:   {!field f=myfield}hello world   该语法与使用Lucene查询解析器搜索短语myfield:"hello world"是等价的。 二.词项查询解析器和原始查询解析器   词项查询解析器可以直接在Solr索引上进行检索,但不能使用字段上定义的文本分析方法。这是它与字段查询解析器的不同之处。词项查询解析器可以对分面搜索返回的值进行过滤,或对Solr索引中直接提取的词项组件进行过滤。词项查询解析器的语法如下:   {!term f=mystemmedtextfield}engin   {!term f=mystringfield}Single Term with Spaces   {!term f=myintfield}1.5   在之前的例子中,搜索到的值是查询提问中该字段在Solr索引中词项的可读版本。与字段查询解析器一样,f参数指向的是搜索的字段。   Solr还提供了一个类似的实现形式——原始查询解析器。词项查询解析器与原始查询解析器的唯一区别是原始查询解析器在Solr索引中搜索确切的词项,而词项查询解析器搜索该词项的可读版本。   在特定字段中,例如:为了提高搜索效率

Solr系列五:solr搜索详解(solr搜索流程介绍、查询语法及解析器详解)

空扰寡人 提交于 2020-03-04 19:00:42
一、solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query,使用所有搜索器IndexSearcher执行查询对象Query得到TopDocs,遍历TopDocs得到文档Document 2. Solr搜索的工作流程: 流程说明: 用户输入查询字符串,根据用户的请求类型qt(查询为/select)选择请求处理器RequestHandler,根据用户输入的参数defType来选择一个查询解析器解析用户的查询串(默认使用RequestHander中配置的默认查询解析器),查询解析器解析完以后根据用户输入的参数qf指定的字段进行搜索(默认是所有索引字段),查询到结果以后做一些特殊的处理(fq,sort,start,rows,wt)以后使用响应处理器ResponseWriter返回给用户 3. 查看内核的solrconfig.xml文件,了解搜索的请求处理器配置 <requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"> <str name="echoParams">explicit</str> <int name="rows">10</int>

全文检索引擎及工具 Lucene Solr

[亡魂溺海] 提交于 2020-02-16 03:55:22
全文检索引擎及工具 lucence lucence是一个全文检索引擎。 lucence代码级别的使用步骤大致如下: 创建文档(org.apache.lucene.document.Document),并通过Document的add方法为其添加字段(lucence.document.Field) 创建lucence.index.IndexWriter,通过addDocument或addDocuments方法添加构建好的诸多Document 通过close方法关闭IndexWriter 创建索引搜索器lucence.search.IndexSearcher,需要传入索引仓库阅读器(lucenc.index.DirectoryReader)参数 通过search方法在搜索器上执行查询,参数是ucence.search.Query对象,通过查询解析器lucene.queryparser.classic.QueryParser的实例parse(String)方法来构建一个查询,QueryParser实例可以通过new标准解析器lucene.queryparser.flexible.standard.StandardQueryParser得到 中文文本索引构建及查询示例 (以下涉及的是6.4.2版本的lucene) 对中文文本构建索引时,不能使用 StandardAnalyzer

lucent,solr,ES比较

随声附和 提交于 2020-01-31 07:57:02
| 0 什么是全文搜索 什么是全文搜索引擎? 百度百科中的定义 : 全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。 从定义中我们已经可以大致了解全文检索的思路了,为了更详细的说明,我们先从生活中的数据说起。 我们生活中的数据总体分为两种: 结构化数据 和 非结构化数据 。 结构化数据 : 指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据 : 非结构化数据又可称为全文数据,指不定长或无固定格式的数据,如邮件,word文档等。 当然有的地方还会有第三种: 半结构化数据 ,如XML,HTML等,当根据需要可按结构化数据来处理,也可抽取出纯文本按非结构化数据来处理。 根据两种数据分类,搜索也相应的分为两种:结构化数据搜索和非结构化数据搜索。 对于结构化数据,我们一般都是可以通过关系型数据库(mysql,oracle等)的 table 的方式存储和搜索,也可以建立索引。 对于非结构化数据,也即对全文数据的搜索主要有两种方法: 顺序扫描法 , 全文检索 。 顺序扫描 :通过文字名称也可了解到它的大概搜索方式

solr最全知识点

不打扰是莪最后的温柔 提交于 2020-01-28 08:12:36
1.常用 q - 查询字符串,必须的。 fl - 指定返回那些字段内容,用逗号或空格分隔多个。 start - 返回第一条记录在完整找到结果中的偏移位置, 0 开始,一般分页用。 rows - 指定返回结果最多有多少条记录,配合 start 来实现分页。 sort - 排序,格式: sort=+<desc|asc>[,+<desc|asc>]… 。示例:( inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。注:排序字段 只能针对数值型如: int,dobuble 等… wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3 增加的,要用通知我们,因为默认没有打开。 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

sorl的使用

跟風遠走 提交于 2020-01-10 02:46:10
Sorl定义: sorl是独立的企业级搜索服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的xml文件,生成索引。 同时也可以通过Http Get操作提出查询请求,并以xml返回查询结果 特点: sorl采用java5开发的基于Lucene的全文服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的 全文搜索引擎 。 工作方式: 文档通过Http利用XML 加到一个搜索集合中。 查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能, 垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置 文本分析 ,提供基于Web的管理界面等。 全文检索引擎Solr系列—–全文检索基本原理 http://www.importnew.com/12707.html 全文检索可以归纳为两个过程:1、索引创建(indexing)2、搜索索引(search) Solr/Lucene采用的是一种反向索引,所谓 反向索引 :就是从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引 索引创建: 1)把原始文档交给分词组件

Solr新特性【4.x,5.x,6.x,7.x】

ぃ、小莉子 提交于 2019-12-21 01:49:50
一.Solr4.x新特性   1.近实时搜索     Solr的近实时搜索【Near Real-Time,NRT】功能实现了文档添加到搜索的快速进行,以应对搜索快速变化的数据。   2.原子更新与乐观并发     原子更新功能允许客户端应用对已有文档上进行添加、更新、删除和对字段增值等操作,而且无需重新发送整个文档。当存在两个请求同时更改同一个文档时,Solr使用乐观机制防止不兼容的更新。简单来说就是Solr使用特殊的_version_版本字段来确保文档的安全更新语义。两个请求中后提交更改的请求将会获得一个过时的版本【这个版本是两请求都未执行之前的版本,然后先提交的请求会执行并修改版本号】,所以会执行失败【请求执行之前需要先确认版本,只有版本一致才可以执行请求】。   3.实时GET功能     无论文档是否已经提交到索引,使用实时GET功能都可以使用唯一标识符检索最新版本的索引【事务日志提供支撑】。这与使用行键【row key】检索数据的Cassandra的键-值存储方式类似。在Solr4之前,除非文档提交到Lucene的索引,否则是检索不出来的。且提交很花费时间,影响查询性能。   4.使用事务日志实现写持续性     当文档发送到Solr进行索引时,会被写到事务日志中,以防止服务器发生故障造成数据丢失。Solr的事务日志处在客户端应用与Lucene索引之间