Solr MultiValue字段和添加值

时间:2011-10-18 15:17:51

标签: search solr indexing multivalue

我正在构建一个搜索引擎,并且对于许多不同的名称都有一个不那么独特的ID ...所以,例如,可能有一个B0051QVF7A的id,其中有多个名称,如“Kindle”“亚马逊Kindle “”亚马逊Kindle 3G“”Kindle电子书阅读器“”新Kindle“等。

我遇到的问题和问题是,我试图从11万分钟的数据库中输入这些数据。每个人一次只读一个。所以我没有每个ID的所有名称。我每次都会在列表中添加新文档。

我想知道的是如何为现有文档添加名称?如果我正确阅读文档,它似乎覆盖整个文档,而不是向该字段添加额外的信息...我只是想在文档多值字段中添加一个额外的名称......

我知道这可能会导致一些奇怪而精彩的“问题”,如果一个名字被移除(在上面的例子中,当新的Kindle被释放时可以删除“New Kindle”)但是我想要重新创建索引再次,清除这样的问题(每月一次左右。目前大约需要45分钟来创建指数)。

那么,如何在solr中为现有文档的多值字段添加值?

1 个答案:

答案 0 :(得分:1)

由于@Mauricio Scheffer评论链接的问题...... Solr目前不支持更新现有文档中的单个字段值。我看到这里可能有几个选项......

  1. 在从数据库中提取数据的过程中,当它找到新名称时,需要从Solr中提取现有文档的所有字段,添加新值并将完整文档重新发送给Solr(您可能已经这样做。)。
  2. 为从数据库中读取的代码添加一些额外的逻辑,以便在将文档插入索引之前收集每个文档的所有唯一名称。但是,如果您有大约1,100万条记录,则可能存在资源限制,从而阻止此操作可行。