Solr 查询 转载(复制自网上,以备复习)
2019独角兽企业重金招聘Python工程师标准>>>
一、 查询参数说明
在做solr查询的时候,solr提供了很多参数来扩展它自身的强大功能!以下是使用频率最高的一些参数!
1、常用
q - 查询字符串,这个是必须的。如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京)
fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是20081001
fl - 指定返回那些字段内容,用逗号或空格分隔多个。
start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。
rows - 指定返回结果最多有多少条记录,配合start来实现分页。
sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:(score desc, price asc)表示先 “score” 降序, 再 “price” 升序,默认是相关性降序。
wt - (writer type)指定输出格式,可以有 xml, json, php, phps。
fl表示索引显示那些field( *表示所有field,如果想查询指定字段用逗号或空格隔开(如:Name,SKU,ShortDescription或Name SKU ShortDescription【注:字段是严格区分大小写的】))
q.op 表示q 中 查询语句的 各条件的逻辑操作 AND(与) OR(或)
hl 是否高亮 ,如hl=true
hl.fl 高亮field ,hl.fl=Name,SKU
hl.snippets :默认是1,这里设置为3个片段
hl.simple.pre 高亮前面的格式
hl.simple.post 高亮后面的格式
facet 是否启动统计
facet.field 统计field
二、 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}
14. / 转义操作符,特殊字符包括+ - && || ! ( ) { } [ ] ^ ” ~ * ? : /
注:①“+”和”-“表示对单个查询单元的修饰,and 、or 、 not 是对两个查询单元是否做交集或者做差集还是取反的操作的符号
比如:AB:china +AB:america ,表示的是AB:china忽略不计可有可无,必须满足第二个条件才是对的,而不是你所认为的必须满足这两个搜索条件
如果输入:AB:china AND AB:america ,解析出来的结果是两个条件同时满足,即+AB:china AND +AB:america或+AB:china +AB:america
总而言之,查询语法: 修饰符 字段名:查询关键词 AND/OR/NOT 修饰符 字段名:查询关键词
三、 Solr查询语法
1.最普通的查询,比如查询姓张的人( Name:张),如果是精准性搜索相当于SQL SERVER中的LIKE搜索这需要带引号(""),比如查询含有北京的(Address:"北京")
2.多条件查询,注:如果是针对单个字段进行搜索的可以用(Name:搜索条件加运算符(OR、AND、NOT) Name:搜索条件),比如模糊查询( Name:张 OR Name:李 )单个字段多条件搜索不建议这样写,一般建议是在单个字段里进行条件筛选,如( Name:张 OR 李),多个字段查询(Name:张 + Address:北京 )
3.排序,比如根据姓名升序(Name asc),降序(Name desc)
转载于:https://my.oschina.net/fight123/blog/677314
Solr 查询 转载(复制自网上,以备复习)相关推荐
- Solr笔记--转载
Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...
- SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)
SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据 ...
- MySQL查询结果复制到新表(更新、插入)
MySQL查询结果复制到新表(更新.插入): MySQL中可以将查询结果复制到另外的一张表中,复制的话通常有两种情况,一种是更新已有的数据,另一种是插入一条新记录.下面通过例子来说明.首先构建两个测试 ...
- solr查询特殊字符的处理
1. 使用solr的页面功能时,遇到语法错误 2. 确认原因 从lexical error分析时特殊字符的问题. 首先 solr查询有哪些特殊字符? 查找官方文档:http://lucene.apac ...
- MyBatis Generator Example.Criteria 查询条件复制
背景: 我们在开发中使用MyBatis Generator生成的 XxxExample查询时,咋添加 or 查询时候,可能两个 Example.Criteria 对象的条件存在交集,即多个查询条件是相 ...
- Solr学习总结(四)Solr查询参数
今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...
- Solr查询参数sort(排序)
摘要: Solr查询每一次返回的数据都有一定的顺序,特定顺序的结果对于业务来说可能非常重要. 不指定排序 一般我们不指定排序规则,这样的结果能满足大部分需求,默认是用文档的得分作为排序标准.相当于加上 ...
- pgpool mysql_PGPool-II+PG流复制实现HA主备切换
基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能.本文基于PG流复制基础上 , ...
- PGPool-II+PG流复制实现HA主备切换
基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能.本文基于PG流复制基础上 , ...
最新文章
- 使用sublime text3 连接sftp/ftp(远程服务器)
- 2020,智能货柜的现状与未来
- C指针原理(25)-gtk
- 全面解读:微信服务号升级和群发增至4条的应用方法
- 研究生开题报告需要注意的几点
- Eclipse 中 去掉控制台最大行数限制
- Linux操作系统中firewall和iptables介绍
- 如何卸载office201032位_office2010卸载不了应该如何通过清理注册表解决方法?
- win10系统通过关键字快速搜索文件内容的软件
- java魔法门1_魔法门之英雄无敌5
- 周记——20151221
- 商业智能系统在税务行业的应用
- 使用百度API获取位置信息
- 合并多个excel文件数据
- 超详细!Chrome 浏览器、浏览器插件 下载和安装教程
- 交通一卡通二维码支付技术要求
- SQL取日期为当前月份的第几周思路
- 买台式计算机看属性,买电脑配置怎么看好坏,怎么看电脑配置好坏-
- OpenStack技术峰会前瞻,含全球前五用户带来的顶级实践分享
- 2015年哈工大数理逻辑A期末考试参考答案(2)
热门文章
- bootstrap日期控件 只显示 年月
- 华为服务器虚拟化概念,华为服务器虚拟化助力IT信息化建设
- android焦点动画,Android编程中PopupWindow的用法分析【位置、动画、焦点】
- caffe matlab 重启,Matlab caffe 具体使用方法
- python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解...
- vue 给取data值_一些Vue相关的面试题,帮助求职者提升竞争力
- 功能测试常用6种方法_云端功能测试:更好的12种方法
- oracle服务器文件有哪些,Oracle服务器参数文件维护的技巧有哪些呢?
- python md5加密字符串_python md5加密字符串的例子
- cent os7 安装dubbo-admin 管理控制台