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 查询 转载(复制自网上,以备复习)相关推荐

  1. Solr笔记--转载

    Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...

  2. SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)

    SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据 ...

  3. MySQL查询结果复制到新表(更新、插入)

    MySQL查询结果复制到新表(更新.插入): MySQL中可以将查询结果复制到另外的一张表中,复制的话通常有两种情况,一种是更新已有的数据,另一种是插入一条新记录.下面通过例子来说明.首先构建两个测试 ...

  4. solr查询特殊字符的处理

    1. 使用solr的页面功能时,遇到语法错误 2. 确认原因 从lexical error分析时特殊字符的问题. 首先 solr查询有哪些特殊字符? 查找官方文档:http://lucene.apac ...

  5. MyBatis Generator Example.Criteria 查询条件复制

    背景: 我们在开发中使用MyBatis Generator生成的 XxxExample查询时,咋添加 or 查询时候,可能两个 Example.Criteria 对象的条件存在交集,即多个查询条件是相 ...

  6. Solr学习总结(四)Solr查询参数

    今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出sol ...

  7. Solr查询参数sort(排序)

    摘要: Solr查询每一次返回的数据都有一定的顺序,特定顺序的结果对于业务来说可能非常重要. 不指定排序 一般我们不指定排序规则,这样的结果能满足大部分需求,默认是用文档的得分作为排序标准.相当于加上 ...

  8. pgpool mysql_PGPool-II+PG流复制实现HA主备切换

    基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能.本文基于PG流复制基础上 , ...

  9. PGPool-II+PG流复制实现HA主备切换

    基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能.本文基于PG流复制基础上 , ...

最新文章

  1. 使用sublime text3 连接sftp/ftp(远程服务器)
  2. 2020,智能货柜的现状与未来
  3. C指针原理(25)-gtk
  4. 全面解读:微信服务号升级和群发增至4条的应用方法
  5. 研究生开题报告需要注意的几点
  6. Eclipse 中 去掉控制台最大行数限制
  7. Linux操作系统中firewall和iptables介绍
  8. 如何卸载office201032位_office2010卸载不了应该如何通过清理注册表解决方法?
  9. win10系统通过关键字快速搜索文件内容的软件
  10. java魔法门1_魔法门之英雄无敌5
  11. 周记——20151221
  12. 商业智能系统在税务行业的应用
  13. 使用百度API获取位置信息
  14. 合并多个excel文件数据
  15. 超详细!Chrome 浏览器、浏览器插件 下载和安装教程
  16. 交通一卡通二维码支付技术要求
  17. SQL取日期为当前月份的第几周思路
  18. 买台式计算机看属性,买电脑配置怎么看好坏,怎么看电脑配置好坏-
  19. OpenStack技术峰会前瞻,含全球前五用户带来的顶级实践分享
  20. 2015年哈工大数理逻辑A期末考试参考答案(2)

热门文章

  1. bootstrap日期控件 只显示 年月
  2. 华为服务器虚拟化概念,华为服务器虚拟化助力IT信息化建设
  3. android焦点动画,Android编程中PopupWindow的用法分析【位置、动画、焦点】
  4. caffe matlab 重启,Matlab caffe 具体使用方法
  5. python中trun是什么意思_Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解...
  6. vue 给取data值_一些Vue相关的面试题,帮助求职者提升竞争力
  7. 功能测试常用6种方法_云端功能测试:更好的12种方法
  8. oracle服务器文件有哪些,Oracle服务器参数文件维护的技巧有哪些呢?
  9. python md5加密字符串_python md5加密字符串的例子
  10. cent os7 安装dubbo-admin 管理控制台