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 <dev.and...@gmail.com>
> > 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