Should I've read the manual :-)
One solution seems to be defining a multi value attribute
define_index do
indexes title, :sortable => true
has location(:ancestry), :as => :loc_ids, :type => :multi
end
ruby-1.9.2-p0 > Organization.search_for_ids(:with_all => {:loc_ids =>
[1,17715]}).total_entries
=> 400
Great !
On 26 août, 22:23, keldelice <[email protected]> wrote:
> Reading twice what I've written to fast the search query should have
> been
>
> ruby-1.9.2-p0 > Organization.search(:conditions => {:loc => "1/17715/
> *"}, :match_mode => :phrase)
> => []
>
> Which is not working
>
> On 26 août, 18:24, keldelice <[email protected]> wrote:
>
>
>
> > Hi,
>
> > Let's says that I've Organizations that belongs to a Location (always
> > a City).
>
> > Location is using ancestry gem in order to create a nested set like
> > Country > Region > County > City
> > The nested set path is store in a column named "ancestry" (String)
> > like "1/2/3" each / representing the parent_id
>
> > What I'd like to do is to find all organizations within a Region or a
> > County
>
> > So in Organization model I have
>
> > define_index do
> > indexes title, :sortable => true
> > indexes location(:ancestry), :as => :loc
>
> > end
>
> > However
>
> > ruby-1.9.2-p0 > Location.search(:conditions => {:ancestry => "1/17715/
> > *"}, :match_mode => :phrase)
> > => []
>
> > but
>
> > ruby-1.9.2-p0 > Organization.where("locations.ancestry LIKE
> > '1/17715/%'").includes(:location).count
> > => 401
>
> > I've enable_star: true in sphinx.yml
>
> > Is there someone who has a better solution ? (Or an idea of what I've
> > missed :)
>
> > Thanks
> > Cyrille
--
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.