主要讲一下solr面板的使用:
查询
q: 查询用 语法: name:刘中华 支持通配符
?
表示单个任意字符的通配
*
表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
~
表示模糊检索,如检索拼写类似于”roam”的项这样写:roam将找到形如foam和roams的单词;roam0.8,检索返回相似度在0.8以上的记录。
AND、||
布尔操作符
OR、&&
布尔操作符
NOT、!、-
(排除操作符不能单独与项使用构成查询)
+
存在操作符,要求符号”+”后的项必须在文档相应的域中存在²
( )
用于构成子查询
[]
包含范围检索,如检索某时间段记录,包含头尾,date:[201507 TO 201510]
{}
不包含范围检索,如检索某时间段记录,不包含头尾date:{201507 TO 201510}
fq : filter query 过滤查询 比如:查询日期范围 last_modified:[2019-04-19 TO 2019-04-27]
sort: 排序。格式如下:字段名 排序方式;如 id desc 表示按id字段降序排列查询结果。 中间没有分号 是空格
fl: field list。指定查询结果返回哪些字段。多个时以空格“ ”或逗号“,”分隔。不指定时,默认全返回。
高亮
hl: high light 高亮。hl=true表示启用高亮
hl.fl 设定高亮显示的字段,用空格或逗号隔开的字段列表。要启用某个字段的highlight功能,就得保证该字段在schema中是stored。如果该参数未被给出,那么就会高亮默认字段 standard handler会用df参数,dismax字段用qf参数。你可以使用星号去方便的高亮所有字段。如果你使用了通配符,那么要考虑启用hl.requiredFieldMatch选项。
hl.requireFieldMatch 如果置为true,除非用hl.fl指定了该字段,查询结果才会被高亮。它的默认值是false。
hl.usePhraseHighlighter 如果一个查询中含有短语(引号框起来的)那么会保证一定要完全匹配短语的才会被高亮。
hl.highlightMultiTerm 如果使用通配符和模糊搜索,那么会确保与通配符匹配的term会高亮。默认为false,同时hl.usePhraseHighlighter要为true。
hl.fragsize 返回的最大字符数。默认是100.如果为0,那么该字段不会被fragmented且整个字段的值会被返回。