solr - 当提升的术语出现在多个字段中时,solr 中的查询字段提升问题
问题描述
我在 solr 中有 4 个字段。例如。Field1, Field2, Field3 and Field4.
我的升压序列就像field1^10, field2^8, field3^7 field4^6
.
现在,如果我搜索关键字营销可以说q=(Field1:("marketing")^10 OR Field2:("marketing")^8 OR Field3:("marketing")^7 OR Field4:("marketing")^6)
。
要求:现在根据要求,field1
应该首先出现市场营销,这样就可以正常工作。
问题:但是有一条记录出现了营销,Field3
并且Field4
在结果中出现了第二名,而在 Field2 中包含营销的记录在结果中出现第三名,这可能是因为评分机制。
我需要的解决方案:我想按照在该字段中应用的提升顺序显示记录,无论是否在多个字段中找到它,即在字段 2 中具有营销的记录应该始终出现在结果中的第二位。
解决方案
@MatsLindh 在评论中给出的回应是正确的解决方案:
但是,您可以尝试增加您的提升以在不同级别之间产生更大的差异
field1^100000, field2^10000, field3^1000 field4^100
- 这样,给定相同的内容,两个后面的字段加起来不会比之前的字段更大。注意:请注意,分数不仅会受到提升的影响(例如出现次数等)。
推荐阅读
- python-3.x - Odoo API 使用 XML-RPC 创建雇主离开
- javascript - 使用 nodejs 上传 blob
- tfs - 在 Visual Studio 2015 社区版中设置 TFS
- python-3.x - 如何以编程方式运行 Python 单元测试
- tokbox - 自定义布局的 Tokbox 组视频存档
- php - wordpress 短代码仅适用于一页
- ios - 如何在 iOS 应用程序中优先考虑 BLE 操作/角色?
- jquery - Highchart 插件 JQuery xAxis 未定义
- javascript - D3 条形图。如何根据 JSON 数据设置自定义 x 和 y 轴?
- javascript - Canvas LineTo 不工作 IOS / IPAD