since I don't think we offer a better strategy (suggestions welcome), you will still likely need to replace the FullTextIndexEventListener; what is preventing you to do so?
Hi, thanks for your reply.
Well, it would be probably possible to copy FullTextIndexEventListener
and overwrite it to suit my needs. But ideally I would like to overwite just the onPostUpdate()
method. It's then easier to maintain my code regarding HSearch updates. But the onPostUpdate()
method calls some private attribute (dirtyStrategy) so I haven't managed to overwrite it yet.
As an alternative, you could use sharding: soft deleted entities go to a special shard which is configured to use the blackhole backend, which just discards any index update.
As you mentioned later, the performance may be low in this case. So I would like to avoid building documents on index delete action.
A similar strategy may be to index even softly deleted entities with a deleted field. Then filter them out at search time with some Lucene filter.