Java lucene中的getTermFrequencyVector

Java lucene中的getTermFrequencyVector,java,indexing,lucene,cosine-similarity,Java,Indexing,Lucene,Cosine Similarity,我开始了解lucene函数getTermFreqVector()在计算两个文档之间的余弦θ相似距离时是如何工作的。有人能解释一下“字段名”在getTermFreqVector(文档号,字段名)中的含义吗?一个像lucene这样的倒排索引可以按术语索引数据,从而允许您执行非常高效的搜索。您可以为文档编制索引,文档是字段的集合。字段只是一个键值对:字段名、字段值 您可以轻松检索包含特定单词的文档,但检索特定文档的所有索引术语会变得更加困难,因为术语枚举是按字段存储的,而不是按文档存储的。术语向量克服

我开始了解lucene函数getTermFreqVector()在计算两个文档之间的余弦θ相似距离时是如何工作的。有人能解释一下“字段名”在getTermFreqVector(文档号,字段名)中的含义吗?

一个像lucene这样的倒排索引可以按术语索引数据,从而允许您执行非常高效的搜索。您可以为文档编制索引,文档是字段的集合。字段只是一个键值对:字段名、字段值

您可以轻松检索包含特定单词的文档,但检索特定文档的所有索引术语会变得更加困难,因为术语枚举是按字段存储的,而不是按文档存储的。术语向量克服了这个问题,它允许在每个文档中存储这些信息,这样您就可以以一种高效的方式检索这些信息,而付出的代价是拥有一个更大的索引


回到您的问题:术语向量存储在每个文档、每个字段中,这就是为什么您必须提供文档id和字段名才能检索它。

太好了!也许你可以投赞成票和/或接受我的答案不幸的是,我不能,因为我没有足够的声誉。