使用Lucene,是否可以进行直接查找,而无需迭代条款?
例如:
IndexReader r = IndexReader.open("...");
Term t = r.getTerm("myterm");
答案 0 :(得分:0)
简而言之,没有。由于您已经拥有该术语,因此在您已经显示的索引中查找一个术语并没有多大意义,并且不会要求提供有关它的任何其他信息。
Lucene将术语存储为与docids相关联的字段的值。但是,您可以使用TermsEnum枚举索引中的所有术语。你可以找到与文档相关的所有术语,或者找出索引中是否存在给定的术语 - 这可能是我能想到的最接近你要求的内容。
答案 1 :(得分:0)
我认为您需要先阅读基本的lucene教程such as this。请注意,本教程中使用的代码是旧的,即与最新的lucene版本不对应。从你对迈克的评论,我相信正在寻找“搜索”。
另一种方法是在lucene上使用包装器,例如Elasticsearch,它提供了一个简单的接口。然而,在使用之前了解界面非常重要。