在Lucene(JAVA)中,一个文件被多个查询命中多少次
我正在使用java代码实现lucene。我使用索引目录中的在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
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