On 9/23/22 09:51, gnandre wrote:
Is there a way to make atomic indexing default?

Say, even if some clients send non-atomic indexing requests, it should get
converted to atomic indexing requests on Solr end, is that possible?

I am asking because we usually run into the following issue:
1. Client A is the major contributor of almost all the fields of  a Solr
document. This is non-atomic indexing.
2. Client B contributes some additional fields to the same document and
does this with atomic indexing.
3. If Client A indexes again, the fields populated by Client B are wiped
out.

If we make all indexing atomic indexing on Solr end then we won't run into
this problem (except in a rare case where Client A deletes the document
then indexes it back, this is fine and we can deal with it because it is
rare)

We would be surprising a LOT of users if we did that.  Right now they can simply reindex a document to delete fields that were indexed before but shouldn't be there.  If we made atomic indexing the default, we would definitely get complaints about the fact that these fields did not get removed.

And what about users that have a schema that is not appropriate for atomic indexing?  Quite a lot of users, me included, have fields that are indexed but not stored and have no docValues.  I can guarantee you that if we made atomic indexing the default, that users would assume that all their existing fields will be preserved, and that might not be the case.

It sounds like what you should do is have client A be aware that a document might have changes done after they indexed it, and they should do a check to see whether a doc already exists, and if it does, change their indexing to atomic.

It is extremely problematic to have one index be built by two different entities in this way.  Maybe instead you should have separate indexes for each client and use Solr's join capability to combine the info from both indexes into one result.  Just be aware that Solr's join capability will NOT do everything a relational database expert might expect.

Thanks,
Shawn

Reply via email to