1
我遇到了Lucene.Net和BooleanQuery的問題。這是我的代碼:Lucene.Net BooleanClause問題
BooleanQuery query = new BooleanQuery();
String[] types = searchTypes.Split(',');
foreach (string t in types)
query.Add(new TermQuery(new Term("document type", t.ToLower())), BooleanClause.Occur.SHOULD);
這應該主要是一個或聲明通過具有一定的類型,對自己的工作證件去。但是,我也有此查詢:
Query documentTitleQuery = new WildcardQuery(new Term("title", "*" + documentTitle.ToLower() + "*"));
query.Add(documentTitleQuery, BooleanClause.Occur.MUST);
它搜索標題中的單詞。這兩個查詢都可以自行查找。當它們一起使用時,似乎Lucene將documentTitleQuery視爲OR。因此,兩個查詢一起應該返回特定類型的文檔,並在標題中包含特定詞語,但它會返回標題中包含特定詞語的所有類型。
謝謝,完全成功了! – 2010-08-16 19:19:20