层面搜索参数 之 facet.mincount

该参数用于限定层面搜索结果统计的最小值,即限制分类统计中每个分类最低数量,当改分类的数量少于这个参数时,将不会显示,该值可以针对单个字段进行设置,语法如下:

f.<fieldname>.facet.mincount.

层面搜索参数 之 facet.limit

这个参数用于限定层面搜索结果的个数,即分类统计的分类个数。该值可以为负,表示不限制结果的数量。该值默认为 100.

facet.sort

该参数用于指定层面结果的排序。该参数的值有两个:
count
表示按每个分组的数量进行排序,数量最多的将排最前面
index
将按层面结果的字符 ASCII 进行排序
如果 facet.limit 值大于 0 ,sort 参数默认值为 count,其他情况默认值为 index。
可以对单独字段设置该值,语法为:f.<fieldname>.facet.sort

facet.prefix

facet.prefix 参数用于限制层面结果,仅输出以该前缀开头的层面结果。它不会影响正常的查询,仅对层面结果起作用。

facet.field 参数

该参数用于指定需要进行层面搜索的字段,可值可以多次设置,这样可以对多个字段进行层面搜索。

层面搜索参数

层面搜索主要有以下两个参数:
facet
值为 true 或空,默认为空,为 true 时,将启动层面搜索,该值为 true 时,facet.query 参数才有效。
facet.query
该参数允许指定任意 Lucene 查询,默认情况下,solr 自动返回一个字段分类统计的结果。该参数特别适用于数值的范围或者前缀的层面搜索。

层面搜索(Faceting)

层面搜索是 Solr 的一个重要特性,是对搜索结果按某些字段进行分组统计,类似 SQL 中的 group by。在电子商务网站中,经常会见到,效果如下所示:
上图是在淘宝中搜索 710 关键字得到的结果,大概意思是在淘宝中,男装中含710关键字的有 2047 个,运动鞋中含 710 关键字的有 2891 个。

高亮

Solr 为各种搜索请求都提供了高亮组件,这些搜索请求包括:dismax、edismax、或者标准查询解析器。
可以高亮字段,必须索引并且存储。
高亮有以下可配置参数:
hl
hl.fl
hl.snippets
hl.fragsize
hl.mergeContinuous
hl.requireFieldMatch
hl.maxAnalyzedChars
hl.alternateField
hl.maxAlternateFieldLength
hl.formatter
hl.simple.pre hl.simple.post
hl.fragmenter
hl.useFastVectorHighlighter
hl.phraseLimit
hl.boundaryScanner
hl.usePhraseHighlighter
hl.highlightMultiTerm
hl.regex.slop
hl.regex.pattern
hl.regex.maxAnalyzedChars
hl.q
God,这参数比旧版的多了很多,大部分都不认识,等使用后补上

一个字段多组条件查询

lucene 和 solr 支持针对一个字段使用布尔操作符,使用括号来分成多个条件。如下所示:

title:(+return +”pink panther”)

该语句将在 title 字段中搜索,同时包含 return 单词和  “pink panther” 短语的文档。

多组条件查询

Lucene 和 solr 支持多个查询条件查询,这些条件使用括号进行分组,使用布尔表达式进行连接,如下所示:

(jakarta OR apache) AND website

该表达式表示,所查结果中必须包含 website,然后 jakarta 和  apache 两个中必须包含一个。

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress · 闽ICP备18020075号