Hi, I have thinking-sphinx installed as a vendor/plugin. My index definition for looks like:
=== define_index do # Fields # indexes :id, :as => :order_id indexes customer.account_ref indexes customer.contact_name, customer.company_name, :as => :customer_name indexes line_items.code indexes line_items.name # Attributes # has :status_code # Properties # set_property :delta => true end === Here is what I have be able to establish so far. Note: I'm testing all of this in development mode. -> With config.cache_classes = true 1. If I perform a search, destroy a record within the results, re- perform the same search. I still get the same "nil.local_options" error as described in my previous email. 2. I am unable to rotate my indexes using rake ts:index. -> With config.cache_classes = false 1. If I perform a search, destroy a record within the results, re- perform the same search. I get a RuntimeError: "Called id for nil, which would mistakenly be 4" 2. I am able to rotate my indexes. Thanks for your efforts. Kind regards, Oliver. On Nov 28, 1:40 pm, Pat Allan <[email protected]> wrote: > Hmm, I can't seem to reproduce the indexing issue... > > How do you have TS installed? (gem or plugin) And what's your index > definition looking like in Order? > > -- > Pat > > On 28/11/2009, at 11:23 PM, karmacoma wrote: > > > Hi Pat, > > > Okay, deleting a record now works (which is great!). > > However, now I suffering a slightly different problem. > > > If I perform a search; Destroy one of the records within the results; > > Then re-perform the search. > > I now get the following error: > > > === > > "You have a nil object when you didn't expect it! > > The error occurred while evaluating nil.local_options" > > === > > > With the stack trace leading me to: thinking-sphinx/lib/ > > thinking_sphinx/search.rb:310:in `client'. > > > Secondly, I am unable to re-index my records, as I get the following > > error when I issue rake ts:index: > > > === > > Generating Configuration to /Users/Oliver/git/greyville/config/ > > development.sphinx.conf > > Sphinx 0.9.8.1-release (r1533) > > Copyright (c) 2001-2008, Andrew Aksyonoff > > > using config file '/Users/Oliver/git/greyville/config/ > > development.sphinx.conf'... > > ERROR: section 'order_core_0' (type='source') already exists in / > > Users/ > > Oliver/git/greyville/config/development.sphinx.conf line 75 col 1. > > === > > > Kind regards, Oliver. > > > On 28 Nov, 11:40, Pat Allan <[email protected]> wrote: > >> Hi Oliver > > >> Can you give the latest release (1.3.7) a shot? It should fix this > >> problem. > > >> -- > >> Pat > > >> On 28/11/2009, at 8:31 PM, karmacoma wrote: > > >>> Hi Pat, > > >>> I am using rails version 2.3.4. > > >>> Starting a debugger just before: thinking-sphinx/lib/ > >>> thinking_sphinx/ > >>> active_record.rb:83 > >>> I can see the list of indexed models being gathered as script/server > >>> boots up. > > >>> Then if I place a breakpoint just before: vendor/plugins/thinking- > >>> sphinx/lib/thinking_sphinx.rb:63 > >>> Upon hitting the first request, Thread.current > >>> [:thinking_sphinx_indexed_models] returns nil. > > >>> I am using the following version of ruby in development: > >>> - ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10] > > >>> And in production: > >>> - ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux] > > >>> Hope this helps... > > >>> Kind regards, Oliver Beddows. > > >>> On 28 Nov, 02:05, Pat Allan <[email protected]> wrote: > >>>> Hi Oliver > > >>>> I'm kinda surprised by this - I thought that array was being > >>>> populated > >>>> at the beginning of each web request in the dev environment, but > >>>> just > >>>> so I can track it down... what version of Rails are you using? > > >>>> -- > >>>> Pat > > >>>> On 28/11/2009, at 4:21 AM, karmacoma wrote: > > >>>>> Hi, > >>>>> Using the latest version of thinking-sphinx (1.3.6). I am getting > >>>>> the > >>>>> following error: "undefined method `name' for nil:NilClass" when > >>>>> destroying a record. > > >>>>> The stack trace leads me to the following file: thinking-sphinx/ > >>>>> lib/ > >>>>> thinking_sphinx/active_record.rb:229 > > >>>>> def eldest_indexed_ancestor > >>>>> ancestors.reverse.detect { |ancestor| > >>>>> ThinkingSphinx.indexed_models.include?(ancestor.name) > >>>>> }.name > >>>>> end > > >>>>> When the destroy method is called, "ThinkingSphinx.indexed_models" > >>>>> returns an empty array. > > >>>>> However, according to my application it should be returning: > >>>>> ["Administrator", "Article", "Customer", "Order", "Product", > >>>>> "Representative"]. > > >>>>> * Within production it raises the exception every time (obviously, > >>>>> as > >>>>> the classes are cached). > >>>>> * Within development it raises this exception on the first > >>>>> invocation, > >>>>> but works on the second attempt, and subsequent attempts. > > >>>>> This seems to be an issue related to lazy loading? > > >>>>> In my application I often have to delete records. So I am hoping > >>>>> someone can help me fix this problem. > > >>>>> Kind regards, Oliver Beddows. > > >>>>> -- > > >>>>> 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 > >>>>> athttp://groups.google.com/group/thinking-sphinx?hl=en > >>>>> . > > >>> -- > > >>> 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 > >>> athttp://groups.google.com/group/thinking-sphinx?hl=en > >>> . > > > -- > > > 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 > > athttp://groups.google.com/group/thinking-sphinx?hl=en > > . -- 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.
