在TYPO3中,我们尝试使用solr扩展为tt_content记录建立索引。我知道tt_content记录与Solr处理其他记录的方式有所不同。如果添加,编辑或除去tt_content记录,则页面将在solr索引中而不是tt_content记录中更新。为了解决这个问题,我创建了一个自定义记录监视器来更新solr索引中的tt_content记录。可以,但是删除内容元素时会出现问题。
似乎删除了content元素后,solr将从solr索引中删除该页面,然后再次添加它。但是,由于有我的自定义记录监视器,因此当我从索引中删除tt_content记录时,该页面将再次被删除,并且不会再次添加该页面。我必须在记录监视器中再次将页面添加到索引中。
这意味着在删除内容元素时,solr索引中会发生以下情况:
这似乎效率低下。是否有正确的方法使用TYPO3 solr扩展来索引和监视单个tt_content记录,而不会出现这些问题?
使用的TYPO3版本是8.7,solr扩展版本是8.0.2。
在我的自定义记录监视器中,我使用\ApacheSolrForTypo3\Solr\IndexQueue\Queue->add
将tt_content记录添加/更新到索引队列中,并使用\ApacheSolrForTypo3\Solr\GarbageCollector->collectGarbage
删除它们。