常用的参数:
q - 查询字符串,必须的。
fl - 指定返回那些字段内容,用逗号或空格分隔多个。
start - 返回第一条记录在完整找到结果中的偏移位置,0开始。
rows - 指定返回结果最多有多少条记录,配合start来实现分页。
sort - 排序,示例:(inSock desc,price asc)表示先 ”inSock “降序,再”price “升序,默认时相关性降序
wt - (writer type)指定输出格式,可以有xml,json,php,phps。
fq - (filter query)过滤查询,作用:在q查询符合结果中同时时fq查询符合的,例如:q=mm&fq=date_time:[20000101 TO 20200101],找关键字mm,并且date_time是20000101 到 20200101之间的。
不常用的参数:
q.op - 覆盖schemal.xml中的defaultOperator(有空格时用 “AND” 还是用“OR”操作逻辑),一般默认指定“OR”
df - 默认的查询字段,一般默认指定
qt - (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。
indent - 返回的结果是否缩进,默认关闭,用indent=true|on开启,一般调试json,php,phps,ruby输出采用必要用这个参数
version - 查询语法的版本,建议不使用它,由服务器指定默认值。
SolrJ的检索运算符:
“:” 指定字段查询指定值,如返回所有值“:”
“?” 表示单个任意字符的通配
“*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
“~” 表示模糊检索,如检索拼写类似于“roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录
邻近检索,如检索相隔10个单词的“apache” 和“akarta”,
"jakarta apache" ~10
"^"控制相关检索,如检索jakarta apache,同时希望去让“jakarta” 的相关度再加好,那么在其后加上“^” 符号和增量值,即Jakarta^4 apache
布尔操作符AND , &&,OR , ||
布尔操作符NOT,! - (排除操作符不能单独于项使用构成查询)
“+” 存在操作符,要求符号“+”后的项必须在文档响应的域中存在()用于构成子查询
[] 包含范围检索,如检索磨时间段记录,包含头尾,date:[202001 ToO 202002]
[]不包含范围检索,如检索某事件段记录,不包含头尾date:{202001 TO 202002}
"转意操作符,热水字符包括+ - && || ! () {} [] ^ " ~ * ? : "
其他查询条件
查询某个字段非空的记录, 比如:fq=FIeldName:['' TO *] 查询FieldName非空的数据
查询某个字段为空的记录,比如,查询公司名称为空的记录可以采用如下语法实现
-company:[* TO *]
取法实例:fq=!statr:1