We are using CosmosDb as our DB for apps search and we need to have overrides to change apps metadata on-the-fly. This allows us to hide some apps from clients or change privacy statements without the need for the developer to re-upload their work.
To achieve this, we use a CosmosDb collection for the app data and another for the overrides.
In order to provide our clients with search, we use Azure Search and to keep indexes up-to-date, we wanted to use Indexers.
It is indeed possible at the present time to have multiple data sources get uploaded to the same index but in the current situation, the app data indexer would overwrite our overrides in the index when its indexer runs and our overrides would be gone until the override collection indexer runs and overwrites those fields.
Having priority in indexers would allow some data to be more important from certain sources than from others an allow to have an overrides mechanism baked in Azure Search with CosmosDb Indexers.
In order to work around this, we will go to using a third CosmosDb collection that is populated using post-triggers when the app data or overrides are updated and an indexer from this "merged" collection.
Hope this makes sense,
Thank you for your feedback. While it is unlikely we’ll address this suggestion in the near future, we’ll reassess based on the number of votes it receives.
Also, you may want to start a stack overflow discussion on this topic… may be we can think of other mechanisms (besides indexer priorities) that allow you to get to an acceptable outcome.
Azure Search Product Team