1

I have a Sitecore instance running on Sitecore v9 update 2 using SOLR. So I have created 3 new computed fields, these fields are working properly when I rebuild index or re-index tree (both master and web) but when I publish any Sitecore item the computed fields are not getting updated, in fact computed field is missing from the solr sitecore_web_index when I do publish.

IndexUpdateStrategy used: OnpublishEndAsync*

Is there any other configuration that I should look for when it comes to reindex on publishing? Thanks in advance!

4
  • What is the code of your computed field?
    – Marek Musielak
    Commented Jun 3, 2021 at 8:30
  • And what is code of the base class you're using?
    – Marek Musielak
    Commented Jun 3, 2021 at 9:19
  • Apologies ,I have repeated the question twice. Yes other computed fields are getting indexed properly, on item publish
    – Harish
    Commented Jun 4, 2021 at 15:33
  • So it's the problem with this particular computed index field. In the code you added to your question, you only join a list of strings. And what is the code of the base class which is used to get that list of strings?
    – Marek Musielak
    Commented Jun 4, 2021 at 17:06

1 Answer 1

4

I have seen a similar problem in the past with new computed fields disappearing from indexes on publish. It was caused by multiple Sitecore instances with different code version connected to the same database and Solr server.

One of the differences between the full index rebuild (or re-index tree) and on-publish indexing is the fact that the full index rebuild runs only on the Sitecore instance where it was triggered. However, event-based indexing will be performed by every instance that is connected to the same Event Queue table and has indexing enabled.

If you have more than one Sitecore instance connected to the same database and Solr server and all of them use onPublishEndAsync indexing strategy, then each of them will try to index the published item based on the configs and DLLs they have. In case your new computed fields are not deployed to other instances yet, then it is likely they will remove new fields from the index when they receive the publish:end:remote event.

Please note that it is recommended that only one instance performs indexing operations in a Sitecore environment, unless you have multiple Solr servers in a geo-distributed set up.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.