Aha, then no fq for you. :)
Those two queries you wrote should be equivalent under the hood.
 
Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch



----- Original Message ----
> From: Larry He <shiqua...@gmail.com>
> To: solr-user@lucene.apache.org
> Sent: Tuesday, May 26, 2009 5:26:34 PM
> Subject: Re: Solr query performance issue
> 
> We actually want OR operator on  those values.  Filters can only do AND,
> right?
> 
> Is it better performance to have the query as field1:01 field1:02 field1:03
> instead of field1:(01 02 03)?
> 
> BR,
> Larry
> 
> On Tue, May 26, 2009 at 5:15 PM, Otis Gospodnetic <
> otis_gospodne...@yahoo.com> wrote:
> 
> >
> > What about field1:01 ..... field:100 being used as separate filters (that
> > would then get ANDed) -- doable?
> >
> >  Otis
> > --
> > Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch
> >
> >
> >
> > ----- Original Message ----
> > > From: Development Team 
> > > To: solr-user@lucene.apache.org; yo...@lucidimagination.com
> > > Sent: Tuesday, May 26, 2009 4:54:34 PM
> > > Subject: Re: Solr query performance issue
> > >
> > > Yes, those terms are important in calculating the relevancy scores so
> > they
> > > are not in the filter queries.  I was hoping if I can cache everything
> > about
> > > a field, any combinations on the field values will be read from cache.
> > Then
> > > it does not matter if I query for field1:(02 04 05), or field1:(01 02) or
> > > field1:03 the response time is equally quick.  Is there anyway to achieve
> > > that?
> > > Yeah, the range queries are also a bottleneck too, I will give the
> > TrieRange
> > > fields a try.  Thanks for you advice.
> > >
> > > Best Regards,
> > > Shi Quan He
> > >
> > > On Tue, May 26, 2009 at 3:55 PM, Yonik Seeley wrote:
> > >
> > > > On Tue, May 26, 2009 at 3:42 PM, Larry He wrote:
> > > > > We have about 100 different fields and 1 million documents we indexed
> > > > with
> > > > > Solr.  Many of the fields are multi-valued, and some are numbers (for
> > > > range
> > > > > search).  We are expecting to perform solr queries contains over 30
> > terms
> > > > > and often the response time is well over a second.  I found that the
> > > > caches
> > > > > in Solr such as QueryResultCache and FilterCache does not help us
> > much in
> > > > > this case as most of the queries have combinations of terms that are
> > > > > unlikely to repeat.  An example of our query would look like:
> > > > >
> > > > > field1:(02 04 05) field2:(01 02 03) field2:(01 02 03) ...
> > > > >
> > > > > My question is how can we improve performance of these queries?
> > > >
> > > > filters are independently cached... but they are currently only "AND"
> > > > filters, so you could only split it up like so:
> > > >
> > > > fq=field1:(02 04 05)&fq=field2:(01 02 03)&fq=field2:(01 02 03)
> > > > But that won't help unless any of the individual fq params are
> > > > repeated across different queries.
> > > >
> > > > Range search can also be sped up a lot via the use of the new
> > > > TrieRange fields, or via the frange (function range query)
> > > > capabilities in Solr 1.4.... it's not clear if the range queries or
> > > > the term queries are your current bottleneck.
> > > >
> > > > If the range queries aren't your bottleneck and separate filters don't
> > > > work, then a query type could be developed that would help your
> > > > situation by caching matches on term queries. Are relevancy scores
> > > > important for the clauses like field1:(02 04 05), or do you sort by
> > > > some other criteria?
> > > >
> > > > -Yonik
> > > > http://www.lucidimagination.com
> > > >
> >
> >

Reply via email to