Hi Pat, It works absolutely fine with store_id <=999. Is there anything that change the configurations for this. Because i need to fix this immediately on the production server. Later will upgrade the latest version.
On Dec 15, 11:14 am, Pat Allan <[email protected]> wrote: > Hi there > > Either you're using a *really* old version of Thinking Sphinx (ie: about 3 > years old), or you've just been reading really old documentation. The index > definition should look more like this: > > define_index do > indexes status > indexes buyer_notes > indexes rsm > indexes [customer.first_name, customer.middle_name, customer.last_name], > :as => :customer_full_name > indexes [items.ship_to_first_name, items.ship_to_middle_name, > items.ship_to_last_name], :as => :ship_to_full_name > indexes items.ship_to_company, :as => :ship_to_company > indexes items.ship_to_state, :as => :ship_to_state > > has store_order_id > has store_id > has customer.store_customer_id, :as => :store_customer_id > end > > You'll notice here I've separated the obviously non-text data into attributes > (the 'has' method), while I've kept everything else as fields. This is far > better for doing exact integer matches on integers, instead of relying on > Sphinx's text matching algorithms - which are built with a different purpose > in mind. > > With all this changed, then your search request becomes the following: > > Order.search( > :with => {:store_order_id => 2100, :store_id => 1047}, > :include => [:customer, :items, :batch], > :per_page => 10 > ) > > You'll see here that :conditions has become :with - this is because :with is > for attribute filters, whereas :conditions is for searching on specific > fields. If that's not too clear, have a read of the following > documentation:http://freelancing-god.github.com/ts/en/sphinx_basics.html > > And if you are using a really old version of Thinking Sphinx, I highly > recommend upgrading to something recent - 1.4.0 for Rails 1.2 or Rails 2, or > 2.0.0 for Rails 3.0.0 and 2.0.1 for Rails 3.0.3. > > Hopefully this helps a bit :) > > Cheers > > -- > Pat > > On 15/12/2010, at 4:19 PM, raghu wrote: > > > Hi, > > > I am having problem in searching the results. > > If the foreign key store_id in the orders table is greater than > > 999, then returns the empty results. But it returns the correct result > > set > > when the its <=999. > > > How to make it working when the store_id is greater than 999? > > > Indexes of the order model > > > class Order < ActiveRecord::Base > > > define_index do |index| > > index.includes.store_order_id > > index.includes.status > > index.includes.buyer_notes > > index.includes.rsm > > index.includes.store_id > > index.includes.customer.store_customer_id > > > index.includes.customer(:first_name,:middle_name,:last_name).as.customer_full_name > > > index.includes.items(:ship_to_first_name,:ship_to_middle_name,:ship_to_last_name).as.ship_to_full_name > > index.includes.items.ship_to_company > > index.includes.items.ship_to_state > > end > > > end > > > Search Query > > > orders = Order.search(:conditions => {store_order_id=>2100, :store_id > > => 1047}, :include => [:customer,:items,:batch], :per_page => 10) > > > -- > > 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.
