首页 > 解决方案 > 在其同义词结果之前显示原始搜索词的结果

问题描述

我在 solr 中的同义词实现过程中被卡住了。Normal Multi-Term 工作正常,但我们的客户要求 Searched Term 的结果应该出现在顶部,然后其同义词的结果应该出现。我还没有遇到任何方式,所以我在这里发布。任何帮助将是非常可观的。此外,提升应用于搜索字段,并在查询中使用“AND”“OR”等运算符。以下是查询示例: 已配置同义词:“集成营销活动,营销活动框架”

搜索词 1:“综合活动” 搜索结果 1:具有综合活动的记录出现在第一位,而具有活动框架的记录出现在第二位。

搜索词 2:“活动框架” 搜索结果 2:这里再次出现集成活动的记录,而具有活动框架的记录出现在第二位。

预期结果: 搜索结果 1:具有集成活动的记录出现在第一位,而具有活动框架的记录出现在第二位。

搜索结果 2:具有活动框架的记录出现在第一位,而具有集成活动的记录出现在第二位。

我还尝试过在多词同义词中使用 Nolan 的短语查询插件 https://github.com/healthonnet/hon-lucene-synonyms

以下是我的 solr 查询:

q=has_presentation_b:(True)+AND+(-exclude_from_search_b:(True))+AND+(title_t:(%22integrated+campaign%22))+OR+(promotional_keywords_t:(%22integrated+campaign%22))+OR+(promotional_description_t: (%22integrated+campaign%22))+OR+(abstract_t:(%22integrated+campaign%22))+OR+(body_t:(%22integrated+campaign%22))

Solr 版本:6.3.0

谢谢,拉利特乔希

标签: solr

解决方案


添加具有相同处理链但没有同义词扩展的第二个字段。搜索时适当地提升该字段(通过使用field_name:query^<value>或提供 中的字段qf),以便该字段中的任何命中都比同义词扩展的字段中的命中更有价值。


推荐阅读