Hi Simone,
Sorry for the delay in responding to this.
The default scope only has an impact when inserting/updating all records into Sphinx (via ts:index/ts:rebuild). If changes are made to a soft-deleted instance which fires the callback there, then the real-time processing will do its thing on just that record, and it’ll find itself back in Sphinx.
Also, as you’ve noted, ts:index does not delete existing records - it just updates existing ones and inserts new ones. A rebuild, on the other hand, clears out existing index data first.
If you’re not using a default scope, then you can set your real-time index’s scope to load only what you want:
And to avoid callback behaviour in these soft-deleted instances, instead of using the default TS approach, you’ll want to have your own callback instead:
Hope all this helps! Do let me know if there are further questions.
Cheers,
—