I've made a bunch of tests...

using:
 proxy = Article.scoped(:all, :order => :date, :conditions => {:author
=> aut, :date => 2001..2006})
   @articles = proxy.find_by_solr(params[:query])

I get a Type error: Symbol as array index
----
using:
Article.find

I get undefined method `find_by_solr' for []:Array
----

using:
.results
at the end of find_by_solr array I get the same two errors...

I'm afraid there's no way to combine them :S

On 2 Ott, 13:07, adedip <[email protected]> wrote:
> Making some tests I've realized that's it a range date matter...
> I'll figured out and let u know
>
> On 2 Ott, 10:31, adedip <[email protected]> wrote:
>
> > On 29 Set, 20:18, Matt Jones <[email protected]> wrote:
>
> > > On Sep 29, 5:18 am, adedip <[email protected]> wrote:
>
> > > > Hi everybody...
>
> > > > I'm getting crazy to understand how to make things working..
> > > > I have to use both Solr and rails Find to filter search result, and I
> > > > realized that the only option is to get the ids from the different
> > > > search results..and then intersect the array of the ids.
>
> > > > Once did this..I can't make find_all_by_id work passing the resulting
> > > > array as parameter, I have this:
> > > > ----
> > > > In this way I get no error, but no results.
>
> > > >     aut = params[:article][:author]
> > > >     @aut = Article.find(:all, :conditions => {:author => aut})
>
> > > >     from = params[:from][:date]
> > > >     to = params[:from][:date]
> > > >     @range = Article.find(:all, :conditions => {:date=>from..to})
>
> > > >     query = params[:query]
> > > >     @search = Article.find_by_solr(query).results
>
> > > >     ids = Array.new
>
> > > >     @aut.each { |item|
> > > >       ids.push(item.id)  }
>
> > > >     @range.each { |item|
> > > >       ids.push(item.id)  }
>
> > > >     @search.each { |item|
> > > >       ids.push(item.id)  }
>
> > > >     @temp = ids.to_set
> > > >     @ids = @temp.to_a
>
> > > >     @articles = Article.find_all_by_id([...@temp])
> > > > ----
> > > > using �...@articles = Article.find_all_by_id(@temp)
> > > > I got error saying:
> > > > Mysql::Error: Operand should contain 1 column(s): SELECT * FROM
> > > > `articles` WHERE (`articles`.`id` =
> > > > 115,159,78,101,129,19,80,20,70,136,48,54)
> > > > ----
> > > > using @articles = Article.find_all_by_id(@ids)
> > > > It seems to work, I get results, but they're wrong! :S
>
> > > Um, maybe they are wrong because you haven't computed theintersection
> > > of the arrays above - you've found the union.
>
> > > Note that it should work to do this:
>
> > > proxy = Article.scoped(:conditions => { :author => params[:author] })
>
> > > from = params[:from][:date] # may need .to_date here
> > > to = params[:to][:date] # I'm assuming there was a typo in the
> > > original
> > > proxy = proxy.scoped(:conditions => { :date=> from..to })
> > > @articles = proxy.find_by_solr(params[:query])
>
> > > The .results on the original find_by_solr is confusing; are you using
> > > an old version?
>
> > > Acts_as_solr doesn't 100% support scoping like this, but digging
> > > around in the underlying code shows that the actual results are loaded
> > > with a find(:all, :conditions => { :id => results }), which will apply
> > > the other constraints.
>
> > > --Matt Jones
>
> > here I am again :)
>
> > So Matt, your trick didn't really worked.
> > I'm using this version of 
> > acts_as_solr.http://github.com/mattmatt/acts_as_solr
>
> > I did not understand the part u say about .results, if I don't use it
> > it returns an error (like I'm passing to @articles something that is
> > not an articles array), if I use .results it returns 0
> > articles..that's not right too...
>
> > What about find(:all, :conditions => {:id => results}) you wrote? I
> > did not understand how and where use it.
> > thanks again
>
> > ;)
--~--~---------~--~----~------------~-------~--~----~
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