我正在使用Lucene索引我的文档。在我的情况下,每个文档相当小,但数量很大(~2GB)。在每个文档中,都有许多重复的单词或术语。我想知道使用Lucene做索引是否正确,或者在编制索引之前我应该对文档进行哪些预处理。
以下是我的文档的几个示例(每列是一个字段,第一行是字段名称,从第二行开始,每行是一个文档):
ID category track keywords
id1 cat1 track1 mode=heat treatment;repeat=true;Note=This is an apple
id2 cat1 track2 mode=cold treatment;repeat=true;Note=This is an orange
我想索引所有文档,对3个字段(类别,曲目和关键字)执行搜索并返回唯一的id1。
如果我直接将其编入索引,重复的条款是否会影响搜索性能?你有一个好主意我应该如何进行索引和搜索?非常感谢。
答案 0 :(得分:3)
重复的术语可能会强制记分员考虑大量文档,从而影响搜索效果。如果您的术语不区分文档,我建议您对文档进行预处理以删除这些术语。但是,您可能希望首先索引所有内容(例如10000-20000文档的样本),并了解您在相关性和性能方面的表现。
根据您描述的方式,您需要为类别,曲目和关键字字段编制索引,也可以使用KeywordAnalyzer作为类别和曲目字段。您只需要存储id字段。您可能需要为关键字字段定制分析器,或者在实际索引之前对其进行预处理。