我正在为Lucene / Solr开发一个SynonymFilter,它只在查询时运行,以使用同义词库扩展查询。我遇到的问题是我添加到查询中的同义词与原始术语具有相同的“权重”或“提升”,因此我最终可能会在结果中获得大量噪音。
有没有办法在过滤器中设置单个术语的“权重”或“提升”?
如果没有,我怎么办呢?
(与http://search-lucene.com/jd/lucene/analyzers-common/org/apache/lucene/analysis/synonym/SynonymFilter.html类似,但同义词的权重较小。)
答案 0 :(得分:0)
是的,您可以在过滤器内或作为查询的一部分设置单个术语的权重。使用eDisMax解析器,您可以执行以下操作:
&defType=edismax&q=<your query terms>&qf=title:superman^2
这会增加标题字段中出现的所有超人。如果我明白你的要求,那就应该做你需要的。如果您有大量这些内容,则可以在defaults settings for your requestHandler中指定qf
次提升。