1.常用查询

q - 查询字符串,这个是必须的。如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京)

fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20151001 TO 20151031]

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

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}
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 修饰符 字段名:查询关键词

3.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)

整理自论坛博客等

Solr常用查询语法笔记的更多相关文章

  1. solr的查询语法、查询参数、检索运算符

    转载自:http://martin3000.iteye.com/blog/1328931 1.查询语法 solr的一些查询语法 1.1. 首先假设我的数据里fields有:name, tel, add ...

  2. Neo4j的查询语法笔记(二)

    cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目 基本开发完毕,后面会陆续总结学习一下neo4j相关的知识.今天接着上篇文章来看 ...

  3. SQL Server 常用高级语法笔记

    自从用了EF后很少写sql和存储过程了,今天需要写个比较复杂的报告,翻出了之前的笔记做参考,感觉这个笔记还是很有用的,因此发出来和园友分享. 1.case...end (具体的值)case后面有值,相 ...

  4. 利用SOLR搭建企业搜索平台 之——solr的查询语法

      1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称. 2. 查询规 ...

  5. mongodb常用查询语法

    一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...

  6. Mongo常用查询语法

    一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...

  7. MongoDB 常用查询语法

    一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...

  8. Neo4j数据和Cypher查询语法笔记

    Cypher数据结构 Cypher的数据结构: 属性类型, 复合类型和结构类型 属性类型 属性类型 Integer Float String: 'Hello', "World" B ...

  9. Linq与Lambda常用查询语法

    1.查询全部 2.按条件查询全部 3.去除重复 4.连接查询    between and 5.排序 6.分组

随机推荐

  1. Java web小记

    1.Java Web设置页面刷新的方法(两种): response.setHeader("refresh", "0.3," + request.getHeade ...

  2. 锋利的jQuery-3--用js给多选的checkbox或者select赋值

    单选的select: <select id="single"> <option>Single</option> <option>Si ...

  3. 详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和in ...

  4. Jquery中的 height(), innerHeight() outerHeight()区别

    jQuery中的 height innerHeight outerHeight区别 标准浏览器下: height:高度 innerHeight:高度+补白 outerHeight:高度+补白+边框,参 ...

  5. WebService学习总结(三)——使用JDK开发WebService

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  6. Java设计原则:面向接口的设计

    前言:在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的.在这种情况下,各个对象内部是如何实现对系统设计人员来说就不那么重要:而各个对象之间的协作关系则成为系统设计的关键.小到不同 ...

  7. Mongodb c#增删改查

    写在前面 最近项目需要,就研究了下mongodb,也是为了快速上手,就自己弄了一个简单的例子,这里记录一下. Mongodb 传统的关系数据库一般由数据库(database).表(table).记录( ...

  8. [转载]AngularJS and scope.$apply

    http://jimhoskins.com/2012/12/17/angularjs-and-apply.html http://www.cnblogs.com/zhrj000/p/3383898.h ...

  9. 移动端学习系列1--meta标签

    <!-- 是否启动webapp功能,会删除默认的苹果工具栏和菜单栏 --><meta name="apple-mobile-web-app-capable" co ...

  10. 解读JSP的解析过程

    解读JSP的解析过程 互联网上,这方面的资料实在太少了,故把自己研究的一些结果公布出来. 首先,问大家几个问题,看大家能不能回答出来,或者在网上能不能找到答案: 1.page.include.tagl ...