That's correct - any change of structure (as opposed to data) requires  
Sphinx to be restarted.

-- 
Pat

On 17/10/2008, at 12:51 AM, Emil Tin wrote:

>
> hi pat,
> thanks you for reply.
> i trust that the daemon is very stable, but as far as i understood it,
> whenever i change the define_index'es i have to stop, reconfigure,
> reindex and restart sphinx?
>
>
>
>
> On Oct 16, 6:13 am, Pat Allan <[EMAIL PROTECTED]> wrote:
>> HiEmil
>>
>> 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,EmilTin 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