在Lucene(JAVA)中,一个文件被多个查询命中多少次

在Lucene(JAVA)中,一个文件被多个查询命中多少次,java,lucene,Java,Lucene,我正在使用java代码实现lucene。我使用索引目录中的ShingleFilter(令牌流输入,int-minShingleSize,int-maxShingleSize)搜索了一个短语,例如“软件工程,软件开发”。它工作得很好。输出为: Phrase Searching:software engineering software Found 5 hits. 1. Index Document ID:336 File Name: jucs_243.pdf.txt 2. Index Docume

我正在使用java代码实现lucene。我使用索引目录中的
ShingleFilter(令牌流输入,int-minShingleSize,int-maxShingleSize)
搜索了一个短语,例如“软件工程,软件开发”。它工作得很好。输出为:

Phrase Searching:software engineering software
Found 5 hits.
1. Index Document ID:336 File Name: jucs_243.pdf.txt
2. Index Document ID:506 File Name: jucs_4.pdf.txt
3. Index Document ID:524 File Name: jucs_419.pdf.txt
4. Index Document ID:276 File Name: jucs_189.pdf.txt
5. Index Document ID:340 File Name: jucs_247.pdf.txt

Phrase Searching:software engineering software development
Found 1 hits.
1. Index Document ID:506 File Name: jucs_4.pdf.txt
Phrase Searching:engineering software development
Found 1 hits.
1. Index Document ID:506 File Name: jucs_4.pdf.txt
我的问题是:一个文件在Java中命中多少次?我的代码是:

// display search results

TopDocs topDocs = searcher.search(query, LuceneConstants.MAX_SEARCH);

ScoreDoc[] hits = topDocs.scoreDocs;

System.out.println("Found " + hits.length + " hits.");

for(int i=0;i<hits.length;++i) { 
      int docId = hits[i].doc;  
     // print some info about where the hit was found...  
      Document d = searcher.doc(docId);  
      System.out.println((i + 1) + ". " +"Index Document ID:"+ docId + "File Name:" + d.get(LuceneConstants.FILE_PATH));  

}
//显示搜索结果
TopDocs TopDocs=searcher.search(查询,LuceneConstants.MAX\u search);
ScoreDoc[]点击次数=topDocs.scoreDocs;
System.out.println(“Found”+hits.length+“hits.”);

对于(int i=0;i我已使用

    static TreeMap<Integer, Integer> Total_Hits = new TreeMap<Integer, Integer>();

所需输出为:1.文档ID:336次点击:(1)2.文档ID:506次点击:(3)3.文档ID:524次点击:(1)4.文档ID:276次点击:(1)5.文档ID:340次点击:(1)
     for(int i=0;i<hits.length;++i){ 
      int docId = hits[i].doc; 
      if(Total_Hits.keySet().isEmpty() == true)
          {
            Total_Hits.put(docId,1);
          }
      else 
         {
            if(Total_Hits.containsKey(docId))
                {Total_Hits.put(docId,Total_Hits.get(docId).intValue()+1);}
            else
                { Total_Hits.put(docId,1);}

         }
Document ID:276  No oF Hits : 1  Time
Document ID:336  No oF Hits : 1  Time
Document ID:340  No oF Hits : 1  Time
Document ID:506  No oF Hits : 3  Time
Document ID:524  No oF Hits : 1  Time