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