我在solr的同义词实现期间陷入困境。正常的多字词效果很好,但是我们的客户要求搜索字词的结果应显示在顶部,然后显示其同义词的结果。我还没有碰到任何东西,所以我在这里发布。任何帮助将是非常可观的。同样,将增强应用于搜索字段,并在查询中使用“ AND”,“ OR”之类的运算符。以下是查询示例: 配置的同义词:“集成式广告系列,广告系列框架”
搜索词1:“集成广告系列” 搜索结果1:集成广告系列的记录排在第一位,带有广告系列框架的记录排在第二。
搜索词2:“广告系列框架” 搜索结果2:在这里再次出现带有集成活动的记录,而第二出现带有活动框架的记录。
预期结果: 搜索结果1:集成广告系列的记录排在第一位,带有广告系列框架的记录排在第二。
搜索结果2:带有广告系列框架的记录排在第一位,带有集成广告系列的记录排在第二。
我也尝试过使用Nolan的插件在多词同义词中进行短语查询 https://github.com/healthonnet/hon-lucene-synonyms
以下是我的Solr查询:
q = has_presentation_b :(真)+ AND +(-exclude_from_search_b :(真))+ AND +(title_t:(%22integrated + campaign%22))+ OR +(promotional_keywords_t:(%22integrated + campaign%22))+ OR + (promotional_description_t:(%22integrated + campaign%22))+ OR +(摘要_t:(%22integrated + campaign%22))+ OR +(body_t:(%22integrated + campaign%22))
Solr版本:6.3.0
谢谢, 拉利特·乔希(Lalit Joshi)
答案 0 :(得分:1)
添加具有相同处理链但没有同义词扩展的第二个字段。搜索时适当增强此字段(通过使用field_name:query^<value>
或在qf
中提供该字段),以使该字段中的所有匹配项都比同义词已扩展的字段中的匹配项有价值。