Solr 6.7学习笔记(08)-- Facet

        在搜索中,我们搜索时,通常会自动返回一些相关的搜索。比如,你搜索了一本书,会自动返回作者信息加上他的其它书籍的数量。这种功能在Solr中称之为Facet。不太好翻译。下面对于参数的说明,我以搜索“手机”为例子,比较好说明一点。其中一些属性可能并不适用于中文。我的说明仅仅是举个例子。搜索"手机"时,可能会返回的 facet 结果:

品牌 (20),类型(2),颜色(10)

说明:品牌,类型,颜色就是所说的facet,后面括号里表示数量。品牌(20):有20个品牌。 类型(2):表示有2种类型(智能机和老人机)

参数 描述
facet 为TRUE时,启用该功能
facet.query 默认情况下,Solr会自动Facet的field并返回其相关的计数结果 。指定Lucene语法的查询语句,可以覆盖默认行为。
facet.field 指定作为facet的field。比如“品牌”
facet.prefix 以此值为前辍的terms才会作为Facet
facet.contains 字符串包含此值的terms才会作为Facet
facet.contains.ignoreCase 匹配 facet.contains 条件时,忽略大小写
facet.sort 指示Facet结果如何排序。有两个值:1. count -- facet记录数多的排前面 2. index -- 按索引中的次序
facet.limit 限制返回的facet的数量。默认100. 为负数时表示不做限制。e.g. 设置为2的话,只返回品牌、类型和颜色中的2种。
facet.offset 默认0. 一般用于分页时,忽略前面多少个
facet.minCount 设置最小的数量。例如:设置为3时,“类型”将会被抛弃
facet.missing 默认值false. 
facet.method facet的算法。三个可选值:enum, fc(默认值),fcs
facet.exists 用于facet.method=enum的情况
facet.excludeTerms 排除某些terms
facet.threads 获得facet的计算的线程数

还有另外一种facet,例如价格。需要把不同的价格范围当作 一个facet。此时可以设置 facet.range.

原文地址:https://www.cnblogs.com/langfanyun/p/7493272.html