• 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.

  • 相关阅读:
    ASP.NET Cookies的使用
    How to trigger editing of elements inside a reorderlist?
    Not in 的LinQ实现
    .Net中TextBox回车捕捉
    多个TermQuery或一个MultiFieldQueryParser构建BooleanQuery多个域的检索学习实例代码
    ASP.NET的异常处理
    一些有用的API 之 飛信發短信
    C# lock 避免多人同时操作
    一個人性化的“Error 404”,不要錯過!
    SQL索引系列(四)
  • 原文地址:https://www.cnblogs.com/langfanyun/p/7493272.html
Copyright © 2020-2023  润新知