更新SOLR索引的特定字段

Ham*_*mid 18 lucene rdbms solr

我想使用solr搜索文章

我有3张桌子:

  1. 组(id,组名)
  2. ArticleBase(id,groupId,其他一些字段)
  3. 文章(id,articleBaseId,title,date,...)

在solr schema.xml文件中我只是定义与ArticleBase表混合的所有文章字段(在solr上使用一个索引),如下所示:(id,articleBaseId,groupId,...)

问题:管理员想要更改组(ArticleBase),因此我必须更新(或替换)solr中的所有索引文章.对 ?
我只能在solr索引中更新groupId吗?

有解决方案吗?

注意:文章表包含超过2亿篇文章,我只使用solr作为索引(不存储除文章ID之外的任何字段数据)

Mau*_*fer 34

Solr不支持更新单个字段,但是有一个JIRA问题(截至本文撰写时差不多3年).

在实施之前,您必须更新整个文档.

更新:从Solr 4+开始实现,这是文档.

  • 我只想评论一下,毛里西奥意味着需要更新一个单一文件,而不是整个2亿条文章表. (8认同)

Ste*_*fan 15

有关Solr 4.0中的"部分文档更新"功能,请参阅此文档

Solr 4.0现已成为最终版,并已投入生产.

此功能可以更新字段,甚至可以向multiValued字段添加值.

毛里西奥在2010年的回答是正确的,但这就是今天的事情.