在Java Lucene库中查找给定单词的计数

在Java Lucene库中查找给定单词的计数,java,lucene,Java,Lucene,在Lucene()的教程中 当我如上所述将字符串更改为“Lucene-Lucene-in-Action”时,然后在文档中搜索关键字“Lucene”,它会找到字符串“Lucene-Lucene-in-Action”的点击数1。我想发送一个字符串(例如“asd asd fds asd”)到函数并搜索“asd”并找到结果3。如何使用查询addDoc(w,“asd asd fds asd”) 它不会给出所选行中的点击数。如果有一个或多个命中,则写入1;如果没有命中,则写入0。我相信您要查找的是术语向量频

在Lucene()的教程中

当我如上所述将字符串更改为“Lucene-Lucene-in-Action”时,然后在文档中搜索关键字“Lucene”,它会找到字符串“Lucene-Lucene-in-Action”的点击数1。我想发送一个字符串(例如“asd asd fds asd”)到函数并搜索“asd”并找到结果3。如何使用查询addDoc(w,“asd asd fds asd”)


它不会给出所选行中的点击数。如果有一个或多个命中,则写入1;如果没有命中,则写入0。

我相信您要查找的是术语向量频率的计算

见关于他们的问题-

而这—


如果我理解了这个问题,您会问如何计算输入短语(例如“asd”)在索引中的文档中出现的次数。在这种情况下,您需要计算术语向量频率并比较搜索查询,以确定是否存在匹配项和相应的出现次数。请记住,这将有助于匹配整个单词,而不是用于在索引文档语料库中对术语进行全文近似搜索。

我怀疑您可能误解了示例中的某些内容

我没有看到任何示例收集匹配文档中匹配术语的数量。也许作者使用“点击率”这个词在某种程度上把事情搞糊涂了

那里的
hits
变量将匹配的文档ID和分数存储在s的集合中。
点击[index].score
是确定文档匹配程度的最合适方法

public class HelloLucene {
public static void main(String[] args) throws IOException, ParseException {
IndexWriter w = new IndexWriter(index, config);
         addDoc(w, "Lucene lucene in Action");
         addDoc(w, "Lucene for Dummies");
         addDoc(w, "Managing Gigabytes");
         addDoc(w, "The Art of Computer Science");
         w.close();
String querystr = args.length > 0 ? args[0] : "lucene";
//...
 }
}