【问题标题】:Adding boost to terms in a Filter at query time在查询时为过滤器中的术语添加提升
【发布时间】:2013-03-14 01:22:54
【问题描述】:

我正在为 Lucene/Solr 开发一个 SynonymFilter,它只在查询时运行,以使用同义词库扩展查询。我遇到的问题是我添加到查询中的同义词与原始术语具有相同的“权重”或“提升”,所以我最终会在结果中得到很多噪音。

有没有办法在过滤器中设置单个术语的“权重”或“提升”?

如果没有,我还能怎么做?

(类似于http://search-lucene.com/jd/lucene/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html,但同义词的权重较小。)

【问题讨论】:

    标签: java solr lucene filtering


    【解决方案1】:

    是的,您可以在过滤器中或作为查询的一部分设置单个术语的权重。使用eDisMax 解析器,您可以执行以下操作:

    &defType=edismax&q=<your query terms>&qf=title:superman^2

    这将增加标题字段中出现的所有超人。如果我明白你在问什么,这应该做你需要的。如果您有大量这些,您可以在defaults settings for your requestHandler 中指定qf 提升。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多