如何在 2 个字段中搜索 2 个不同的关键字? Lucene.net

How to search 2 fields for 2 different keywords? Lucene.net

我如何在 Lucene.net 中执行这样的搜索?

Return Title 字段等于 "someTitle" 且 isPrivate 字段等于 "false"?

的所有结果

我想我可以创建 2 个索引,一个包含所有文档,一个仅包含非私有文档。但如果只用 1 个索引就可以做到更好。

您可以使用 QueryParser's query syntax:

+Title:someTitle +isPrivate:false

或者将要搜索的两个字词组合成 BooleanQuery:

BooleanQuery bq = new BooleanQuery();
bq.Add(new TermQuery(new Term("Title", "someTitle"), Occur.MUST);
bq.Add(new TermQuery(new Term("isPrivate", "false"), Occur.MUST);