I had exactly the same thought. That query is not an information retrieval (text search) query. It is data retrieval and would work great on a relational database.
wunder On 1/2/08 9:53 PM, "John Stewart" <[EMAIL PROTECTED]> wrote: > Alex, > > Not to be a pain, but the response I had when looking at the query > was, why not do this in a SQL database, which is designed precisely to > process this sort of request at speed? I've noticed that people > sometimes try to get Solr to act as a generalized information store -- > I'm not sure that's what you're doing, but be aware of this pitfall. > > jds > > On Jan 3, 2008 12:52 AM, Alex Benjamen <[EMAIL PROTECTED]> wrote: >> Mike, >> >> Thanks for the input, it's really valueable. Several forum users have >> suggested using fq to separate >> the caching of filters, and I can immediately see how this would help. I'm >> changing the code right now >> and going to run some benchmarks, hopefully see a big gain just from that >> >> >>> - use range queries when querying contiguous disjunctions (age:[28 TO 33] >>> rather than what you have above). >> I actually started with the above, using int type field, and it somehow >> seemed slower than using explicit, but I will >> certainly try again. >> >> >>> - convert the expensive, heap-based age filter disjunction into a bitset >>> created directly from the term enum >> Can you pls. elaborate a little more? Are you advising to use fq=age:[28 TO >> 33], or should that simply be part >> of the regular query? Also, what is the best "type" to use when defining age? >> I'm currently using "text", should >> I use "int" instead... I didn't see any difference with using the type "int". >> >> One of the issues is that the age ranges are not "pre-defined" - they can be >> any combination, 22-23, 22-85, 45-49, etc. >> I realize that pre-defining age ranges would drastically improve performance >> but then we're greatly reducing the value >> of this type of search >> >> Thanks, >> Alex >>