Advertisement
Guest User

Untitled

a guest
Sep 27th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. BooleanQuery.Builder builder = new BooleanQuery.Builder();
  2.  
  3. // filename : prefix search
  4. BooleanQuery.Builder filenameBuilder = new BooleanQuery.Builder();
  5. for (String s : queryStr.trim().split("\s+")) {
  6. PrefixQuery filenameQuery1 = new PrefixQuery(new Term(Indexer.FIELD_NAME_FILENAME, s));
  7. filenameBuilder.add(filenameQuery1, BooleanClause.Occur.SHOULD);
  8. }
  9.  
  10. // content : prefix search
  11. BooleanQuery.Builder contentBuilder = new BooleanQuery.Builder();
  12. for (String s : queryStr.trim().split("\s+")) {
  13. PrefixQuery contentQuery1 = new PrefixQuery(new Term(Indexer.FIELD_NAME_CONTENT, s));
  14. contentBuilder.add(contentQuery1, BooleanClause.Occur.MUST);
  15. }
  16.  
  17.  
  18. // Set filename and content with different weights.
  19. Query filenameQuery = filenameBuilder.build();
  20. Query contentQuery = contentBuilder.build();
  21. filenameQuery.setBoost(4.0f);
  22. contentQuery.setBoost(1.0f);
  23.  
  24. // Merge filename and content queries : filename OR content
  25. builder.add(filenameQuery, BooleanClause.Occur.SHOULD);
  26. builder.add(contentQuery, BooleanClause.Occur.SHOULD);
  27. Query query = builder.build();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement