(in 3e5fc7370b93e543ffd6ca2e0f240bec47baf4b9)
So I'm a bit unclear on how sphinx and TS handle delta indexes. I have
a couple of issues:
1. My string type attributes don't seem to work for filtering with
delta indexes but if I do something like has "contexts.state_status =
'published'", :as => :published, :type => :boolean it does.
2. true isn't converted into a MySQL boolean correctly.
3. Integer type attributes don't seem to work for sorting search
results that come from a delta index. Including :order in the search
params throws out all the delta results which would otherwise return
without an :order key.
Please see the code below for details.
Thanks,
Aaron
class Context < ActiveRecord::Base
define_index do
indexes :name, :sortable => true
indexes :desc
has "contexts.state_status = 'published'", :as
=> :published, :type => :boolean
has state_status, :type => :string
has votes_count
set_property :delta => true
end
end
# I have a few contexts called pub 1, pub 2, pub 3, and pub 4... they
are all state_status = 'published'
Context.search(:conditions => {
:state_status => 'published'
})
#=> []
Context.search(:conditions => {
:published => true
})
#=> error => cannot convert true to float
Context.search(:conditions => {
:published => 1
})
#=> [<Context ...>, <Context ...>, <Context ...>, <Context ...>]
Context.search(:order => 'votes_count DESC')
#=> []
# exec: rake ts:stop && rake ts:index && rake ts:start
Context.search(:order => 'votes_count DESC')
#=> [<Context ...>, <Context ...>, <Context ...>, <Context ...>]
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---