We have an issue running delta indexes and then filtering with
attributes.
I present our configuration below:
class Product
define_index do
# State can be 'in_stock', 'out_of_stock'
has "CRC32(products.state)", :type => :integer, :as => :state
end
end
We have a multi application server deployment and are using delayed
delta's.
Our database sever, sphinxd and job runner all run from the same
machine (dbserver).
Our application servers DO NOT run searchd and do not have access to
the index files on the dbserver. We assume that as the delta indexing
is done via the job runner directly on the dbserver this is not
required.
Our production.rd contains:
ThinkingSphinx.remote_sphinx = true
and sphinx.yml points the address to the dbserver where searchd is
running:
production:
address: dbserver
The problem we experience is the following:
Product.search('', :with => {:state => Zlib.crc32('in_stock')}) let's
say returns records with id 1,2,3
Then we update the state of 1
Product.find(1).update_attribute(:state => 'out_of_stock')
Once the job runner has run (next to no delay) we can run the
following and id:1 is returned, so the delta has worked correctly,
these results are returned from all app servers:
Product.search('', :with => {:state => Zlib.crc32('out_of_stock')})
BUT
The record is also still present in the following resultset
Product.search('', :with => {:state => Zlib.crc32('in_stock')})
This problem only exists in our production configuration outlined
above, when we perform these test on a single machine in dev then
there are no problems.
Any help would much appreciated.
Many thanks
Joe
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---