.基本查询

q  查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*,

fl  (field list)指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort

start  返回结果的第几条记录开始,一般分页用,默认0开始

rows  指定返回结果最多有多少条记录,默认值为 10,配合start实现分页

sort  排序方式,例如price asc, id desc

wt  (writer type)指定输出格式,有 xml, json, php等

fq  (filter query)过滤查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1 的,并且sort是1到5之间的。

q.op – 覆盖schema.xml的defaultOperator(有空格时用”AND”还是用”OR”操作逻辑),一般默认指定

df   默认的查询字段,一般默认指定。

qt  (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。

indent   返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数。

version   查询语法的版本,建议不使用它,由服务器指定默认值。

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

最新文章

  1. 逻辑回归LR
  2. Python之路,Day2 - Python基础2
  3. Spring声明式事务管理基于tx/aop命名空间
  4. Linux下shell脚本中信号捕获和函数练习脚本之ping一个网段
  5. Web应用程序系统的多用户权限控制设计及实现-首页模块【5】
  6. SgmlReader使用方法
  7. Log4J入门教程(二) 参数讲解
  8. Jquery 全选、反选问题解析
  9. C++ Primer 学习笔记_95_用于大型程序的工具 --多重继承与虚继承
  10. HDU 4722 Good Numbers
  11. DLL运行时动态加加载的问题
  12. java swing组件的一些基本属性
  13. Python笔记(一):安装+爬虫环境配置+打包为EXE文件
  14. iOS-硬件授权检测【通讯录、相机、相册、日历、麦克风、定位授权】
  15. ThreadLocal的简单使用和实现原理
  16. Python之常见算法介绍
  17. Redux Counter example
  18. 微信小程序从零开始开发步骤-引入框架WeUI
  19. Collection 接口
  20. (6)Java数据结构-- 转:JAVA常用数据结构及原理分析

热门文章

  1. MVC实现更新数据库的数据
  2. C++为啥要使用new
  3. [日常] Go语言圣经--并发的web爬虫
  4. 【Java并发编程】5、java中ConcurrentLinkedQueue类
  5. Zipper(poj2192)dfs+剪枝
  6. python正则表达式3-模式匹配
  7. HDU1007(最近点对)
  8. 【代码笔记】iOS-UIActionSheet动态添加按钮
  9. iostart 命令
  10. Selenium win7+selenium2.0+python+JetBrains PyCharm环境搭建