Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BooleanQuery.Builder builder = new BooleanQuery.Builder();
- // filename : prefix search
- BooleanQuery.Builder filenameBuilder = new BooleanQuery.Builder();
- for (String s : queryStr.trim().split("\s+")) {
- PrefixQuery filenameQuery1 = new PrefixQuery(new Term(Indexer.FIELD_NAME_FILENAME, s));
- filenameBuilder.add(filenameQuery1, BooleanClause.Occur.SHOULD);
- }
- // content : prefix search
- BooleanQuery.Builder contentBuilder = new BooleanQuery.Builder();
- for (String s : queryStr.trim().split("\s+")) {
- PrefixQuery contentQuery1 = new PrefixQuery(new Term(Indexer.FIELD_NAME_CONTENT, s));
- contentBuilder.add(contentQuery1, BooleanClause.Occur.MUST);
- }
- // Set filename and content with different weights.
- Query filenameQuery = filenameBuilder.build();
- Query contentQuery = contentBuilder.build();
- filenameQuery.setBoost(4.0f);
- contentQuery.setBoost(1.0f);
- // Merge filename and content queries : filename OR content
- builder.add(filenameQuery, BooleanClause.Occur.SHOULD);
- builder.add(contentQuery, BooleanClause.Occur.SHOULD);
- Query query = builder.build();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement