itsjube

Untitled

Nov 16th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.79 KB | None | 0 0
  1.         IndexReader reader = DirectoryReader.open(FSDirectory.open(new File(
  2.                 indexLocation)));
  3.         IndexSearcher searcher = new IndexSearcher(reader);
  4.  
  5.  
  6.         s = "";
  7.         while (!s.equalsIgnoreCase("q")) {
  8.             TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);
  9.             try {
  10.                 System.out.println("Enter the search query (q=quit):");
  11.                 s = br.readLine();
  12.                 if (s.equalsIgnoreCase("q")) {
  13.                     break;
  14.                 }
  15.  
  16.                 Query q = new QueryParser(Version.LUCENE_47, "contents", analyzer).parse(s);
  17.                 searcher.search(q, collector);
  18.                 ScoreDoc[] hits = collector.topDocs().scoreDocs;
  19.                 // 4. display results
  20.                 System.out.println("Found " + hits.length + " hits.");
  21.                 for (int i = 0; i < hits.length; ++i) {
  22.                     int docId = hits[i].doc;
  23.                     Document d = searcher.doc(docId);
  24.                     System.out.println((i + 1) + ". " + d.get("path")
  25.                             + " score=" + hits[i].score);
  26.                 }
  27.                 // 5. term stats --> watch out for which "version" of the term
  28.                 // must be checked here instead!
  29.                 Term termInstance = new Term("contents", s);
  30.                 long termFreq = reader.totalTermFreq(termInstance);
  31.                 long docCount = reader.docFreq(termInstance);
  32.                 System.out.println(s + " Term Frequency " + termFreq
  33.                         + " - Document Frequency " + docCount);
  34.  
  35.             } catch (Exception e) {
  36.                 System.out.println("Error searching " + s + " : "
  37.                         + e.getMessage());
  38.                 break;
  39.             }
  40.  
  41.         }
Advertisement
Add Comment
Please, Sign In to add comment