我正在运行multi_match(使用most_fields和“fuzziness”:“AUTO”)查询“Rob”,但我在“Rob”之前得到了“Ron”的结果 .
如果我删除模糊性,它只显示Rob,而不是Ron . 但是,我确实想要使用模糊性,我只是希望所有完全匹配的结果更具相关性并首先显示 . 它没有发生 . 调查'解释',表明'Ron'的IDF略高一些 .
回到我的问题 - 是否可以为模糊元素配置一些“提升”或“得分”?
好的,基于这里的建议,我最终得到了以下内容:https://medium.com/@oysterpail/fuzzy-queries-ae47b66b325c#.a4uxw5z0b
他们的解决方案是使用_198299_ should 查询 . 我不能这样做,因为我需要查询的这一部分是 must (我使用 should 部分进行相关性),并且 must 的bool查询实际上是 AND . 然而, must or 做了诀窍:
should
must
AND
or
{ "query":{ "bool":{ "must":{ "or":[ { "multi_match":{ "query":"rob", "fields":[ "username", "firstName", "lastName" ], "type":"most_fields", "fuzziness":"AUTO" } }, { "multi_match":{ "query":"rob", "fields":[ "username", "firstName", "lastName" ], "type":"most_fields" } } ] } } } }
这样,来自 fuzziness 部分的结果仅与查询的第一部分匹配,而完全匹配结果与两个部分匹配,因此它们首先显示 .
fuzziness
1 回答
好的,基于这里的建议,我最终得到了以下内容:https://medium.com/@oysterpail/fuzzy-queries-ae47b66b325c#.a4uxw5z0b
他们的解决方案是使用_198299_
should
查询 . 我不能这样做,因为我需要查询的这一部分是must
(我使用should
部分进行相关性),并且must
的bool查询实际上是AND
. 然而,must
or
做了诀窍:这样,来自
fuzziness
部分的结果仅与查询的第一部分匹配,而完全匹配结果与两个部分匹配,因此它们首先显示 .