Hi Emil

Thinking Sphinx doesn't just talk to Sphinx to get deltas indexed. For  
example, when a model instance is destroyed, the following things  
happen:

- Check if the instance exists in the core index
- Flags it as deleted in the core index if it does
- If deltas are enabled and the instance had delta set to true, flag  
it as deleted in the delta index

The first two steps happen every time, whether you're using delta  
indexes or not. This is to make sure those deleted records don't get  
returned in search queries.

And ideally, the Sphinx daemon should be running constantly. From what  
I've found (and heard from others), the daemon is very stable, and  
rarely crashes. And when it does, that's where process tracking tools  
like God and Monit can be useful.

Hope this clears things up a bit.

-- 
Pat
e: [EMAIL PROTECTED]    || m: +614 1327 3337
w: http://freelancing-gods.com || t: twitter.com/pat
discworld: http://ausdwcon.org || skype: patallan

On 15/10/2008, at 11:27 PM, Emil Tin wrote:

>
> thanks for you reply.
>
> i now have sphinx running on a separate ec2 instance, and rails
> accessing it. the key was to edit the production.config.sphinx file in
> the rails config folder on the sphinx server (i deploy the rail app
> folder, but don't run the app) to 0.0.0.0 isntead of the default
> 127.0.0.0, to make sure it listens to all interfaces, not just the
> local one.
>
> destroy an indexed model will still causes an exception if the sphinx
> server can't be reached. that's really bad, since it could mean
> otherwise perfect cod breaks down in case th sphinx server is down.
> it's suddently making my rails app very fragile. and there's no need
> to! delta indexing is off! in any case it would be better to just
> silently ignore the error, so problems are not multiplied. it's much
> worse to have a destroy() call fail than failing to update a non-
> existing delta search index.
>
>
>
>
>
> On Oct 15, 10:06 am, Pat Allan <[EMAIL PROTECTED]> wrote:
>> HiEmil
>>
>> Sorry there's not been a reply to this, but I think the short answer
>> is: no, there's no easy way to do this. You could overwrite some
>> methods or something like that, but it's definitely a hackish
>> solution, and would be best just to focus on getting the environment
>> working correctly so this is no longer an issue.
>>
>> Sorry, I realise that's not really all that helpful. And I've never
>> tried EC2, let alone getting Sphinx running on it.
>>
>> --
>> Pat
>>
>> On 08/10/2008, at 4:59 PM,EmilTin wrote:
>>
>>
>>
>>> The problem is this: whenever the sphinx server is down, not only  
>>> the
>>> search page stops working. Every page that tries to delete a model
>>> will fail. This is a problem while I'm trying to get the sphinx  
>>> server
>>> up running. I still haven't managed to make TS contact the sphinx
>>> server running on a separate EC2 instance.
>>
>>> Is there anyway to stop TS from trying to change the sphinx_deleted
>>> attribute? (Even just temporarily?)
>>
>>> On Oct 7, 10:18 am, Pat Allan <[EMAIL PROTECTED]> wrote:
>>>> HiEmil
>>
>>>> Sphinx can update _attributes_ in indexes (but not fields - hence  
>>>> why
>>>> some people use delta indexes) - and there's an attribute,  
>>>> created by
>>>> Thinking Sphinx, called sphinx_deleted. This gets set to true  
>>>> when a
>>>> model is deleted, so it won't get returned in future results
>>>> (otherwise pagination counts are inaccurate).
>>
>>>> Cheers
>>
>>>> --
>>>> Pat
>>
>>>> On 06/10/2008, at 9:12 PM,EmilTin wrote:
>>
>>>>> Hi!
>>
>>>>> I'm gettting the error 'Connection to Sphinx Daemon (searchd)
>>>>> failed'
>>>>> whenever I try to delete any of my indexed models.
>>
>>>>> It's true that the sphinx server is not running. But delta
>>>>> indexing is
>>>>> not turned on, so why would TS try to connect to the sphinx server
>>>>> when destroying a model?
>>
>>>>> none of my models include :delta => true. They only contain  
>>>>> trivial
>>>>> things like:
>>
>>>>> define_index do
>>>>>   indexes :name
>>>>>   indexes :description
>>>>> end
>>
>>>>> trace:
>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/search.rb: 
>>>>> 231:in
>>>>> `search_for_id'
>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/active_record/
>>>>> search.rb:43:in `search_for_id'
>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/ 
>>>>> active_record.rb:
>>>>> 121:in `in_core_index?'
>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/ 
>>>>> active_record.rb:
>>>>> 137:in `toggle_deleted'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in
>>>>> `send'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:173:in
>>>>> `evaluate_method'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:161:in
>>>>> `call'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:93:in
>>>>> `run'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in
>>>>> `each'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in
>>>>> `send'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:92:in
>>>>> `run'
>>>>> vendor/rails/activesupport/lib/active_support/callbacks.rb:272:in
>>>>> `run_callbacks'
>>>>> vendor/rails/activerecord/lib/active_record/callbacks.rb:298:in
>>>>> `callback'
>>>>> vendor/rails/activerecord/lib/active_record/callbacks.rb:290:in
>>>>> `destroy_without_transactions'
>>>>> vendor/rails/activerecord/lib/active_record/transactions.rb:102:in
>>>>> `destroy_without_after_commit_callback'
>>>>> vendor/rails/activerecord/lib/active_record/connection_adapters/
>>>>> abstract/database_statements.rb:66:in `transaction'
>>>>> vendor/rails/activerecord/lib/active_record/transactions.rb:79:in
>>>>> `transaction'
>>>>> vendor/rails/activerecord/lib/active_record/transactions.rb:98:in
>>>>> `transaction'
>>>>> vendor/rails/activerecord/lib/active_record/transactions.rb:102:in
>>>>> `destroy_without_after_commit_callback'
>>>>> vendor/plugins/thinking-sphinx/lib/thinking_sphinx/active_record/
>>>>> delta.rb:58:in `destroy'
>>>>> app/controllers/bands_controller.rb:236:in `destroy'
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to