solr的搜索

主要讲一下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且整个字段的值会被返回。

猜你喜欢

转载自www.cnblogs.com/coder-lzh/p/10746120.html
今日推荐