I have the same issue.

It's working fine on my localmachine(Leopard) but when i try it on
production server(Ubuntu), both DEV and PROD environment is not
triggering the delta update. I try to force the delta update to true
but nothing happen.

I've tried updating the attribute on script/console and it triggers
the update on delta.

Thanks!

On Aug 28, 8:10 am, Pat Allan <[email protected]> wrote:
> Okay, sounds like it is a bug, maybe what I was mulling in the  
> previous email is what's at fault. Will try to find some time to  
> investigate.
>
> --
> Pat
>
> On 27/08/2009, at 8:50 PM, gobigdave wrote:
>
>
>
> > Even when running in the console, calculated attribute modification
> > did not causedeltaindex update.
>
> > person = Person.new
> > person.last_name = "Smith"
> > person.save # causeddeltaindex
> > person.area_code = "617" # assume you have has CRC32("area_code"), :as
> > => :area_code, :type => :integer
> > person.save # did not causedeltaindex
>
> > As I said, I moved these attributes to fields and updated my advanced
> > search code to use conditions.
>
> > I still can't make Passenger happy in development mode even when
> > everything is running as the same user and the path is right. At least
> > I'm pretty sure they are.
>
> > My config/sphinx.yml for dev:
>
> > development:
> >    morphology: stem_en
> >    max_matches: 100000
> >    bin_path: /usr/local/bin
>
> > -Dave
>
> > On Aug 27, 8:51 am, Pat Allan <[email protected]> wrote:
> >> Hmm, it could be a bug.
>
> >> Sphinx can update some attributes (integers, timestamps, booleans) -
> >> and so if you only change columns that are tied to those types of
> >> attributes, Thinking Sphinx will not invoke thedeltaindexing.
>
> >> However, if there are any associations used, or manual SQL, then  
> >>delta
> >> indexing should always be fired. And given that it works via script/
> >> console, then that suggests to me that there's nothing wrong with  
> >> that
> >> code.
>
> >> Which doesn't really help.
>
> >> --
> >> Pat
>
> >> On 27/08/2009, at 1:36 PM, gobigdave wrote:
>
> >>> FYI, I verified that when Workling/Starling are running in async  
> >>> mode
> >>> mydeltaindexes are being properly updated. What is strange is that
> >>> the workling, httpd, and searchd processes are all running with the
> >>> same user. I've also verified the path several times, but I will  
> >>> do so
> >>> again. Very strange...
>
> >>> Also, I moved the state, country, and area_code attributes to  
> >>> indexes,
> >>> and now updates to the object properly cause thedeltaindex to be
> >>> updated. Looking at the thinking_sphinx code it seems that attribute
> >>> updates should have caused deltas to be updated, but I'm thinking  
> >>> that
> >>> it may not work with calculated attributes.
>
> >>> On Aug 26, 11:31 pm, gobigdave <[email protected]> wrote:
> >>>> I have two issues withdeltaindexes. First, I can not get them to
> >>>> update from my dev browser. I do use Passenger even in development,
> >>>> but I verified that searchd and apache(httpd) are running as the  
> >>>> same
> >>>> user. I also have bin_path set in my sphinx.yml file. If I add new
> >>>> items from my console, then I can search for the new records fine.
> >>>> Even when adding records from my browser, my log file has:
>
> >>>> WorklingDeltaWorker#index:
> >>>> {:delta_index_name
> >>>> =
>
> >>>> "person_delta
> >>>> ", :uid
> >>>> =
>
> >>>> "workling_delta_workers:index:d9ba9a4bbec22daca144db294206d7b2
> >>>> ", :core_index_name=>"person_core", :document_id=>242557}
> >>>> ThinkingSphinx::Search.search_for_id is deprecated. Please use
> >>>> ThinkingSphinx.search_for_id instead.
> >>>> Querying Sphinx:
>
> >>>> Any other ideas on what I can check?
>
> >>>> Two classes for reference:
>
> >>>> class WorklingDelta < ThinkingSphinx::Deltas::DefaultDelta
>
> >>>>   def index(model, instance = nil)
> >>>>     return true unless ThinkingSphinx.updates_enabled? &&
> >>>> ThinkingSphinx.deltas_enabled?
> >>>>     return true if instance && !toggled(instance)
>
> >>>>     doc_id = instance ? instance.sphinx_document_id : nil
> >>>>     WorklingDeltaWorker.asynch_index(:delta_index_name =>
> >>>> delta_index_name(model), :core_index_name => core_index_name
> >>>> (model), :document_id => doc_id)
>
> >>>>     return true
> >>>>   end
>
> >>>> end
>
> >>>> class WorklingDeltaWorker < Workling::Base
>
> >>>>   def index(options = {})
> >>>>     logger.info("WorklingDeltaWorker#index: #{options.inspect}")
> >>>>     ThinkingSphinx::Deltas::DeltaJob.new(options
> >>>> [:delta_index_name]).perform
> >>>>     if options[:document_id]
> >>>>       ThinkingSphinx::Deltas::FlagAsDeletedJob.new(options
> >>>> [:core_index_name], options[:document_id]).perform
> >>>>     end
>
> >>>>     return true
> >>>>   end
>
> >>>> end
>
> >>>> If you are not familiar with workling, it allows for simple async
> >>>> processing. In development mode, however, everything is executed
> >>>> synchronously.
>
> >>>> The secondissueis that the index does not update when I change an
> >>>> attribute. Here is some of my index:
>
> >>>>   define_index do
>
> >>>>     indexes first_name, last_name, :sortable => true
> >>>>     indexes [title, title1], :as => :title, :sortable => true
> >>>>     indexes description
>
> >>>>     has "CRC32(people.state)", :as => :state, :type => :integer
> >>>>     has "CRC32(people.country)", :as => :country, :type => :integer
> >>>>     has "CRC32(people.area_code)", :as => :area_code, :type
> >>>> => :integer
>
> >>>>     set_property :delta=> WorklingDelta
> >>>>   end
>
> >>>> When I create a new record from the console, I see the following:
>
> >>>> using config file '/Users/dave/projects/msc/config/
> >>>> development.sphinx.conf'...
> >>>> indexing index 'person_delta'...
> >>>> collected 1 docs, 0.0 MB
> >>>> collected 0 attr values
> >>>> sorted 0.0 Mvalues, 100.0% done
> >>>> sorted 0.0 Mhits, 100.0% done
> >>>> total 1 docs, 12 bytes
> >>>> total 0.235 sec, 51.03 bytes/sec, 4.25 docs/sec
> >>>> rotating indices: succesfully sent SIGHUP to searchd (pid=32480).
> >>>> => true
>
> >>>> However, if I update the state, country, or area_code, then nothing
> >>>> is
> >>>> output, and the index is not updated. Note, I have the state,
> >>>> country,
> >>>> and area_code as attributes because I want to filter on multiple
> >>>> values. Is this a knownissue? Do I need to move these to indexes  
> >>>> and
> >>>> use 'OR' searches to make this happy?

--~--~---------~--~----~------------~-------~--~----~
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