gpt4 book ai didi

java - 在 Lucene 中获取术语频率

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:46 24 4
gpt4 key购买 nike

有没有一种快速简便的方法可以从 Lucene 索引中获取术语频率,而无需通过 TermVectorFrequencies 类来完成,因为这对于大型集合来说会花费大量时间?

我的意思是,有没有像 TermEnum 这样的东西,它不仅有文档频率,还有词频?

更新:使用 TermDocs 太慢了。

最佳答案

使用TermDocs获取给定文档的词频。与文档频率一样,您可以使用感兴趣的术语从 IndexReader 中获取术语文档。


在不失一般性的情况下,您找不到比 TermDocs 更快的方法。 TermDocs 直接从索引段中的“.frq”文件读取,其中每个词频按文档顺序列出。

如果这“太慢”,请确保您已优化索引以将多个段合并为一个段。按顺序遍历文档(跳过是可以的,但您不能有效地在文档列表中来回跳转)。

您的下一步可能是进行额外的处理以创建一个更专业的文件结构,从而省去 SkipData。就我个人而言,我会寻找更好的算法来实现我的目标,或者提供更好的硬件——大量内存,或者用于保存 RAMDirectory,或者提供给操作系统在其自己的文件缓存系统上使用.

关于java - 在 Lucene 中获取术语频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com