我需要使用Lucene查询语言实现以下谓词:
{param} IN optionIds
其中{param}
是我的外部参数,optionIds
是数组(或集合)。
例如,我的文档包含以下optionIds
:
"optionIds": [
72,
44,
11,
9,
10
]
以下Lucene谓词optionIds:72
正确返回此文档。
但是如何根据以下值返回此文档:72,11,9
以下谓词optionIds:72, 11, 9
不起作用,Lucene查询返回空结果。
请说明如何在Lucene查询语言中使用数组(集合)正确使用(模拟)IN
操作。另外,请说明如何使用ALL IN/ANY IN
。
答案 0 :(得分:7)
要匹配文档中列出的任何查询字词:
optionIds:(72 11 9)
匹配所有查询字词:
optionIds:(+72 +11 +9)