Need to limit auto reindexing when only excluded properties change

Right. Don’t get me wrong, in Search 6 we’ll still need to load C and D when we actually need to reindex A. But at least we will only reindex A when we actually need to.

That should only happen when optimization is disabled, which (IIRC) only happens if you rely on class bridges. In Search 6, the new TypeBinder allows you to specify which properties you depend on.

It would be interesting indeed, but rather complex, and I’m not even sure it’s entirely possible. As far as I know, Lucene only allows such “per-field updates” for doc-values, but not for indexes or storage. That means it would only work for fields designed to be sorted/aggregated on, but not searched on nor projected on. Related: HSEARCH-1236

That’s interesting, never heard of that. May be worth investigating, and if you can create a reproducer, opening a ticket?

Even without fully asynchronous indexing, in a closer future, you might be interested in HSEARCH-168. It’s about disabling automatic indexing for specific indexes. Then you can plan mass indexing periodically (e.g. overnight) for these indexes. It’s currently planned for 6.0.0.Final, though I’m not very optimistic about it; we might have to delay it to 6.1.