Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static Query BuildQuery(Analyzer analyzer, IEnumerable<string> searchFields, string searchQuery)
- {
- var query = new BooleanQuery();
- var tokenStream = analyzer.TokenStream(null, new StringReader(searchQuery));
- var termAttribute = (TermAttribute)tokenStream.GetAttribute(typeof(TermAttribute));
- while (tokenStream.IncrementToken())
- {
- var term = termAttribute.Term();
- var booleanQuery = new BooleanQuery();
- foreach (var searchField in searchFields)
- {
- // TermQuery, PrefixQuery or FuzzyQuery
- booleanQuery.Add(new FuzzyQuery(new Term(searchField, term)), BooleanClause.Occur.SHOULD);
- }
- query.Add(booleanQuery, BooleanClause.Occur.MUST);
- }
- return query;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement