在RediSearch中,可选查询和权重如何工作?
现在,当我尝试搜索关键字并使用带有权重的可选查询来提高搜索结果时,它似乎无能为力。
我尝试过RediSearch 1.4.0
和1.4.15
。
我有一个带有可变大小的不同TEXT字段的索引文档,在建立索引时,我给了它们document_score
。现在,我希望我的用户能够通过查询来搜索文档,但我希望将那些与查询完全匹配的结果提高到顶部。
我已经看到redis提供的评分算法,但是它们似乎都与我们提供给子查询的$weight
无关。他们都谈论field weights
,document_score
和查询字词频率。他们中没有人谈论查询中的$weight
及其对最终结果的影响。
假设我有4个文档,其中的文本字段不同。其中之一是title
的{{1}}字段。每4个文档的标题字段条目如下:
TEXT
当我生成以下查询以重新搜索
"mohsin conversation with the mohsin"
"conversation the conversation - a drama about conversation, the science of conversation."
"Fareham Community Church - Sermons and conversations mohsin conversation the"
"mohsin conversation the conversation tahir"
我希望精确到@title:(conversation the conversation*) (~@title:"conversation the conversation"=>{$weight: 10;})
的文档位于顶部,而所有其他结果(坡距> 0)都位于其后。
但是输出完全不同。即
conversation the conversation
所以我想了解子查询权重在最终结果中的作用。