Lucene学习总结-扩展查询



Lucene学习总结-扩展查询
custom sort method:
[java] view plaincopy
  1. Sort sort = new Sort(new SortField("location",  
  2. new DistanceComparatorSource(1010)));  
  3. TopFieldDocs docs = searcher.search(query, null3, sort);  
  4. FieldDoc fieldDoc = (FieldDoc) docs.scoreDocs[0];  
  5. Document document = searcher.doc(fieldDoc.doc);  

custom HitCollector:
[java] view plaincopy
  1. public void testCollecting() throws Exception {  
  2. TermQuery query = new TermQuery(new Term("contents""junit"));  
  3. IndexSearcher searcher = new IndexSearcher(TestUtil.getBookIndexDirectory());  
  4. BookLinkCollector collector = new BookLinkCollector(searcher);  
  5. searcher.search(query, collector);  
  6. Map linkMap = collector.getLinks();  
  7. TopDocs hits = searcher.search(query, 10);  
  8. TestUtil.dumpHits(searcher, hits);  
  9. searcher.close();  
Extending QueryParser:getFieldQuery,getFuzzyQuery,getPrefixQuery,getRangeQuery,getBooleanQuery,getWildcardQuery
custom filter:
[java] view plaincopy
  1. SpecialsAccessor accessor = new TestSpecialsAccessor(isbns);  
  2. Filter filter = new SpecialsFilter(accessor);  
  3. WildcardQuery educationBooks = // #2  
  4. new WildcardQuery(new Term("category""*education*")); // #2  
  5. FilteredQuery edBooksOnSpecial = // #2  
  6. new FilteredQuery(educationBooks, filter); // #2  
  7. TermQuery logoBooks = // #3  
  8. new TermQuery(new Term("subject""logo")); // #3  
  9. BooleanQuery logoOrEdBooks = new BooleanQuery(); // #4  
  10. logoOrEdBooks.add(logoBooks, BooleanClause.Occur.SHOULD); // #4  
  11. logoOrEdBooks.add(edBooksOnSpecial, BooleanClause.Occur.SHOULD); // #4  
  12. TopDocs hits = searcher.search(logoOrEdBooks, 10);  
Payloads:相当于对文档分类,DefaultSimilarity,PayloadHelper,
[java] view plaincopy
  1. doc1.add(new Field("category""foods|0.984 shopping|0.503", Field.Store.YES, Field.Index.ANALYZED));    
  2. String queries = "category:foods content:egg";    
  3. searcher.setSimilarity(new PayloadSimilarity());   
  4. payloadSearcher.display(payloadSearcher.search(queries), start, end);    
Please read full article from Lucene学习总结-扩展查询

No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts