solr - 在其同义词结果之前显示原始搜索词的结果
问题描述
我在 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
谢谢,拉利特乔希
解决方案
添加具有相同处理链但没有同义词扩展的第二个字段。搜索时适当地提升该字段(通过使用field_name:query^<value>
或提供 中的字段qf
),以便该字段中的任何命中都比同义词扩展的字段中的命中更有价值。
推荐阅读
- javascript - opencv.js meanStdDev 实现
- c# - 如何在c#中动态创建datagridview
- python - 在 Django 项目中修复无反向匹配
- image - 如何获取没有边框的角色图像
- laravel - I am having this laravel 8 error Illuminate\Routing\Exceptions\UrlGenerationException
- c# - CSharp Filtering A List With A LINQ query Using Another List And Its Nested List
- r - How can I order my barplot in ggplot2 according to the value of a variable?
- php - 无法让 wordpress 停止制作额外的 HTML 部分?
- typescript - 在 Typescript 的模型中创建静态函数时找不到命名空间“mongoose”
- c# - 使用 Durable Functions 推送到服务总线的消息计数不可靠