在solr

时间:2018-10-30 10:12:12

标签: solr typo3 typo3-8.x

在TYPO3中,我们尝试使用solr扩展为tt_content记录建立索引。我知道tt_content记录与Solr处理其他记录的方式有所不同。如果添加,编辑或除去tt_content记录,则页面将在solr索引中而不是tt_content记录中更新。为了解决这个问题,我创建了一个自定义记录监视器来更新solr索引中的tt_content记录。可以,但是删除内容元素时会出现问题。

似乎删除了content元素后,solr将从solr索引中删除该页面,然后再次添加它。但是,由于有我的自定义记录监视器,因此当我从索引中删除tt_content记录时,该页面将再次被删除,并且不会再次添加该页面。我必须在记录监视器中再次将页面添加到索引中。

这意味着在删除内容元素时,solr索引中会发生以下情况:

  1. 内容元素所在的页面已删除(solr扩展名)
  2. 添加了content元素所在的页面(solr扩展名)
  3. 内容元素已删除(自定义记录监视器)
  4. 内容元素所在的页面已删除(solr扩展名)
  5. 添加了content元素所在的页面(自定义记录监视器)

这似乎效率低下。是否有正确的方法使用TYPO3 solr扩展来索引和监视单个tt_content记录,而不会出现这些问题?

使用的TYPO3版本是8.7,solr扩展版本是8.0.2。

在我的自定义记录监视器中,我使用\ApacheSolrForTypo3\Solr\IndexQueue\Queue->add将tt_content记录添加/更新到索引队列中,并使用\ApacheSolrForTypo3\Solr\GarbageCollector->collectGarbage删除它们。

0 个答案:

没有答案