繁体   English   中英

使用Lucene索引时,有什么好的方法来处理重复吗?

[英]Any good way to handling repeats when using Lucene indexing?

我正在使用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。

如果直接将其编入索引,重复的术语会影响搜索性能吗? 你有一个好主意,我应该如何进行索引和搜索? 非常感谢。

重复的术语可能会迫使评分者考虑大量文档,从而影响搜索性能。 如果您使用的术语与文档之间没有区别,建议您预处理文档以删除这些术语。 但是,您可能希望首先对所有内容建立索引(例如,对于10000-20000个文档样本),并查看您在相关性和性能方面的表现如何。

从描述的方式出发,您将需要为类别,跟踪和关键字字段建立索引,也许对类别和跟踪字段使用KeywordAnalyzer。 您只需要存储id字段。 您可能需要一个用于关键字字段的自定义分析器,或者在实际索引之前对其进行预处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM