Lucene查询语法

Lucene查询语法,lucene,Lucene,我想写一个Lucene查询,它相当于下面的SQL where age = 25 and name in ("tom", "dick", "harry") 到目前为止,我想到的最好的方法是: (age:25 name:tom) OR (age:25 name:dick) OR (age:25 name:harry) 有没有更简洁的方法来写这个 谢谢, 这行吗 age:25 AND (name:tom OR name:dick OR name:harry) (age:25) AND (nam

我想写一个Lucene查询,它相当于下面的SQL

where age = 25
and name in ("tom", "dick", "harry")
到目前为止,我想到的最好的方法是:

(age:25 name:tom) OR
(age:25 name:dick) OR
(age:25 name:harry) 
有没有更简洁的方法来写这个

谢谢, 这行吗

age:25 AND (name:tom OR name:dick OR name:harry)
(age:25) AND (name:tom OR name:dick OR name:harry)
我知道这可能不是你想要的。我不知道你的问题的目的是为了排除
age:25
子句,还是为了消除
name:
前缀

如果将
name
设置为
QueryParser
的默认字段,则可以将其缩减为:

age:25 AND (tom OR dick OR harry)

虽然不太简洁,但您可以尝试:

或者

+age:25 +name:(tom OR dick OR harry)
+age:25 +name:(tom OR dick OR harry)