2
簡單化問題描述:如何使用Lucene Query接口搜索值列表
Lucene索引每個文檔有兩個字段:ID和NAME。
我想使用Lucene Query接口進行查詢,以便我可以找到ID爲1或2或3等的所有文檔。要搜索的ID將在列表中,並且可能具有多達30個元素。
如果我使用查詢分析器我會做類似
ID:(1 OR 2 OR 3)
但應用程序已經巨資致力於查詢界面,我想跟進目前的格局。只有我能想到的與查詢接口這樣做的方法是使用布爾查詢如下
BooleanQuery booleanQuery = new BooleanQuery();
(String searchId : lstIds)
{
booleanQuery.add(new TermQuery(new Term("ID", searchId)), BooleanClause.Occur.SHOULD);
}
創建n個單項查詢,並將它們組合但有這樣做的更好/更有效的方式?