如何从Lucene的特定字段中获取唯一术语列表?

如何从Lucene的特定字段中获取唯一术语列表?,第1张

如何从Lucene的特定字段中获取唯一术语列表?

您正在寻找术语向量(字段中所有单词的集合以及每个单词的使用次数,不包括停用词)。您将对索引中的每个文档使用IndexReader的getTermFreqVector(docid,field),并在其中填充

HashSet

替代方法是使用term()并仅选择您感兴趣的字段的术语:

IndexReader reader = IndexReader.open(index);TermEnum terms = reader.terms();Set<String> uniqueTerms = new HashSet<String>();while (terms.next()) {        final Term term = terms.term();        if (term.field().equals("field_name")) {     uniqueTerms.add(term.text());        }}

这不是最佳解决方案,您正在阅读然后丢弃所有其他字段。

Fields
Lucene
4中有一个类,仅返回单个字段的term(field)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5501057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存