我在ElasticSearch中有一个字段,它是一个字符串数组。
我正在使用position increment gap和phrase_slop在该数组中搜索特定短语。
初始匹配工作正常。但是,我无法弄清楚如何通过特定的字段值取反。
示例:
索引字段:['a b 1', 'c d', 'e f 3']
基本词组匹配:
"a c"
不匹配(期望的行为)"b a"
在phrase_slop
足够高(期望的行为)时匹配。否定:
"a b" NOT 1 NOT 3
不匹配(期望的行为)有什么方法可以将短语匹配与短语倾斜和基于 position 取反吗?
当前解决方案:
对于我的特定用例,我认为我找到了一种解决方法:
更多详细信息:
NOT
需要使用的值数量有限。NOT
值的数组值数量很少。NOT
。但是,这些时间应该从用户输入中清除。因此,我的解决方案是使用2个字段:一个带有我想NOT
反对的数组值,另一个没有。
我仍然很好奇是否有一个更简单/更通用的解决方案,而不必拆分为两个字段。