Apache Solr 5 - 在字段中对数据进行重复数据删除

时间:2015-04-03 16:14:16

标签: apache solr deduplication

这是我的问题(原谅the wordiness): 我有数百万份文件,所有文件都是独一无二的。

但是,所有文档都包含“描述”字段,此字段包含的数据在所有1000万个文档中的文本中只有几个不同的变体。这个字段大到-400-800字左右。

在“描述”字段中消除重复数据的最合适方法是什么?

让我详细说明一下。这是一个简化的示例模式:

Doc_id           <-- this is unique
Title                <-- always unique as well
Description    <-- contains mostly dupe data 

我搜索标题和描述,但只返回标题。

我对Solr很新,但一直无法找到有关如何解决这类情景的任何信息。如果它很重要,我在Ubuntu上运行Solr 5。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我会尝试提供一些解决问题的策略。

  1. 您说搜索标题和描述,这意味着您应该在schema.xml中将这些字段设置为indexed = true。只返回title,这意味着只需要将title设置为stored = true,description应设置为stored = false。有关存储与已编入索引的详细信息,请参阅此帖子:Solr index vs stored

  2. 您可以尝试的另一个有用选项是字段选项压缩。如果您需要存储字段,可以在某些字段上使用gzip压缩,例如TextField和StrField,有关详细信息,请参阅:https://wiki.apache.org/solr/SchemaXml

  3. 最后,Solr支持重复数据删除,请参阅:https://wiki.apache.org/solr/Deduplication。我没有尝试这个功能,但从它的声音,你可以防止(几乎)重复文件索引或标记重复。也许它的目标是“允许在搜索结果中重复折叠以及在添加文档时进行重复数据删除”。你正在寻找什么?