【问题标题】:Using collate in Solr Suggester Component?在 Solr Suggester 组件中使用整理?
【发布时间】:2017-10-30 16:18:40
【问题描述】:

用例

我们的 Solr 索引包含许多国家的文档。某些文件应该只在某些国家/地区可见。 因此,向美国用户提供的建议应仅包含在美国可见的文档。

解决问题的方法

a) 当我使用 Solr SpellCheckComponent for suggestions 时,我可以激活 collat​​e=true。这将过滤所有提供的 Solr 过滤器查询的建议。 http://localhost:8983/solr/collection1/suggest?fq=country:us&q=pro

b) 但我想使用高级建议器,例如 AnalyzingInfixSuggester,所以我必须使用 Solr SuggestComonent。不幸的是,我找不到激活整理的方法。因此,我的过滤器查询将被忽略,并返回所有国家/地区的所有产品。

问题

a) 有没有办法在 SuggestComponent 中激活整理?

b) 或者是否可以通过 SpellCheckComponent 使用高级建议器?

【问题讨论】:

    标签: solr


    【解决方案1】:

    您正在寻找Context Filtering。您可以使用该功能通过高级建议器过滤一些建议。

    将此行添加到建议器配置中:

    <str name="contextField">country</str>
    

    将请求参数添加到建议查询中:

    suggest.cfq=us
    

    【讨论】:

    • 这行得通!但是没有办法对建议器使用真正的过滤器查询(它们比 contextField 更通用)?
    • 不,你没有 fq 的所有灵活性。如果是预定义的 fq,您可以在索引时将其计算为一个字段并将该字段用作 cfq。
    猜你喜欢
    • 2012-10-03
    • 2012-12-20
    • 1970-01-01
    • 2015-04-13
    • 2012-03-07
    • 1970-01-01
    • 2013-03-17
    • 2015-09-21
    • 1970-01-01
    相关资源
    最近更新 更多