If you often query X as part of several other queries (e.g: X | X AND Y | X AND Z) you might consider putting X in a filter query ( http://wiki.apache.org/solr/CommonQueryParameters#fq)
leading to: q=*:*&fq=X q=Y&fq=X q=Z&fq=X Filter queries are cached seperately which means that after the first query involving X, X should be returned quickly. So your FIRST query will probably still be in the 'few seconds'- range, but all following queries involving X will return much quicker. hth, Geert-Jan 2011/3/2 Ofer Fort <ofer...@gmail.com> > Hey all, > I have an index with a lot of documents with the term X and no documents > with the term Y. > If i query for X it take a few seconds and returns the results. > If I query for Y it takes a millisecond and returns an empty set. > If i query for Y AND X it takes a few seconds and returns an empty set. > > I'm guessing that it evaluate both X and Y and only then tries to intersect > them? > > Am i wrong? is there another way to run this query more efficiently? > > thanks for any input >