【发布时间】:2015-09-14 16:10:12
【问题描述】:
不确定如何在 Lucene 中格式化查询。场景是搜索词必须出现在两列之一中(任何一个都可以)。
boolQuery.Add(query1, Occur.MUST) 'this one is fine
boolQuery.Add(query2, Occur.SHOULD)
boolQuery.Add(query3, Occur.SHOULD)
即使搜索词在第 2 列和第 3 列中根本不存在,也会显示结果。
boolQuery.Add(query2, Occur.MUST)
boolQuery.Add(query3, Occur.SHOULD)
当搜索词出现在第 3 列但不在第 2 列时,不显示结果。
如何格式化查询,以便获得等效的:
where column 1= val1 and (column 2 = val2 or column 3 = val2)
【问题讨论】: