I was able to get a 'filter' to work...

basically I used the :concatenate option

is_indexed :fields => ['title','description','created_at'],
                      :concatenate => [ {:fields => ['topic_id'], :as
=> 'video_topic_id'} ],
                      :delta => {:field => 'created_at'}

Then I was able to run this.

Ultrasphinx::Search.new(:query => "london video_topic_id:
17", :class_names => "Video")

This is in no way ideal...
But I did manage to return the result set I wanted.



On Jan 22, 3:51 am, Stanislav Bozhkov <rails-mailing-l...@andreas-
s.net> wrote:
> I had an advice from the Ultrasphinx official forum to try with aliasing
> the topic_id as an unique id name. So I tried this configuration:
>
> is_indexed :fields => ['title','description','created_at',
>                 {:field => 'topic_id', :as => 'video_topic_id'}],
>               :delta => {:field => 'created_at'}
>
> (topic_id is an integer column that is part of Video model)
>
> After that running: rake ulrasphinx:configure; rake ultrasphinx:index;
>
> However the same error occurs:
> ------------------------------->> Ultrasphinx::Search.new(:query => "london", 
> :class_names => "Video" ).run.total_entries
> => 1
> >> Ultrasphinx::Search.new(:query => "london", :class_names => "Video", 
> >> :filters => {:video_topic_id => 17} ).run.total_entries
>
> Ultrasphinx::UsageError: field "video_topic_id" is invalid
> -------------------------------
>
> In case that there's someone who has successfully run a similar task,
> share your configurations, please.
>
>
>
> Stanislav Bozhkov wrote:
> > I can not make it work in any way. I'm dealing with this a whole workday
> > today.
>
> > So, I have tried all of these setups:
> > ----------------
> > class Video < ActiveRecord::Base
> >   ...
> >   belongs_to :topic
> >   ...
> >   is_indexed :fields => ['title','description','created_at'],
> >              :include => [
> >                 {:association_name => 'topic', :field => 'id', :as =>
> > 'topic_id'}
> >               ],
> >               :delta => {:field => 'created_at'}
> >   ...
> > end
>
> > @sphinx = Ultrasphinx::Search.new(:query => "london", :class_names =>
> > "Video", :filters => {:topic_id => 17} ).run.total_entries
>
> > Ultrasphinx::UsageError: field "topic_id" is invalid
>
> > ---------------
> >   is_indexed :fields => ['title','description','created_at','topic_id'],
>
> > @sphinx = Ultrasphinx::Search.new(:query => "london", :class_names =>
> > "Video", :filters => {:topic_id => 17} ).run.total_entries
>
> > Ultrasphinx::UsageError: field "topic_id" is invalid
>
> > --------------
> >   is_indexed :fields => ['title','description','created_at'],
> >              :include => [
> >                 {:association_name => 'topic', :field => 'id', :as =>
> > 'topic_id2'}
>
> > @sphinx = Ultrasphinx::Search.new(:query => "london", :class_names =>
> > "Video", :filters => {:topic_id2 => 17} ).run.total_entries
>
> > Ultrasphinx::UsageError: field "topic_id2" is invalid
>
> > ----------
>
> > After each change of configuration I run
> > rake ultrasphinx:configure
> > rake ultrasphinx:index
>
> > No real results. I just can't make it work with :filters . I'm using
> > ultrasphinx 1.11 .
>
> > Every idea and help is highly appreciated.
>
> > 10x in advance.
>
> --
> Posted viahttp://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" 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/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to