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: https://freelancing-gods.com/thinking-sphinx/v4/real_time.html#eager-loading-associations <https://freelancing-gods.com/thinking-sphinx/v4/real_time.html#eager-loading-associations> 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: https://freelancing-gods.com/thinking-sphinx/v4/indexing.html#callbacks <https://freelancing-gods.com/thinking-sphinx/v4/indexing.html#callbacks> Hope all this helps! Do let me know if there are further questions. Cheers, — Pat > On 6 Feb 2019, at 8:34 pm, Simone Miller <[email protected]> wrote: > > Hi Pat > > May I check in with you about an issue we're having with soft deleted users > being filtered out of searches? > > We're runnning thinking sphinx 4.0.0 with real time indices, soft deleting > users (without active record destroy callbacks) and have a default scope on > users { where(:deleted_at => nil) } > We run 'flying-sphinx regenerate' each night - after which deleted users no > longer show up in searches. Are we right in thinking that having the default > scope means deleted users won't be added to the index? > > We are going to remove the default scope! In the meantime, is there a way to > prevent thinking-sphinx from filtering out deleted users / unscoping our > default scope when the index is being generated? We're trying to avoid batch > updating deleted users to manually trigger real time callbacks. > > We also noticed in development that running rake ts:index doesn't filter out > deleted users, but running rake ts:rebuild does. Could you explain why this > is? > > Thank you > Simone > > -- > You received this message because you are subscribed to the Google Groups > "Thinking Sphinx" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/thinking-sphinx > <https://groups.google.com/group/thinking-sphinx>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/thinking-sphinx. For more options, visit https://groups.google.com/d/optout.
