You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@lucenenet.apache.org by Li Bing <lb...@gmail.com> on 2009/08/24 18:45:35 UTC
Query vs. BooleanQuery
Dear all,
I tried to search using two approaches, Query and BooleanQuery. To my
surprise, the two behaves different on the same index? Or I made
something wrong?
On the same index, Query can get results whereas BooleanQuery get NOTHING. Why?
The codes are shown as follows.
Using Query,
......
IndexSearcher searcher = new IndexSearcher(fsDirectory);
Analyzer chineseAnalyzer = new ChineseAnalyzer();
QueryParser queryParser = new QueryParser(searchField, chineseAnalyzer);
Query query = queryParser.Parse(DBTools.FilterKeyFieldValue(searchKeyword));
Hits results = searcher.Search(query);
......
Using BooleanQuery,
......
IndexSearcher searcher = new IndexSearcher(fsDirectory);
Term term = new Term(searchField, searchKeyword);
TermQuery termQuery = new TermQuery(term);
BooleanQuery booleanQuery = new BooleanQuery();
booleanQuery.Add(termQuery, BooleanClause.Occur.MUST);
Hits results = searcher.Search(booleanQuery);
......
I think the codes should be correct. But why do they get different
results on the same index?
Thanks so much for your help!
LB