Thank you all for your fast replies, Changing photo_id:* to boolean has_photo field via transformer, when importing data, *fixed my problems*; reducing query times to *30~ ms*. I'll try to optimize furthermore by your advices on filter query usage and int=>tint (will search it first) transform.
On Thu, Sep 15, 2011 at 1:31 AM, Chris Hostetter <hossman_luc...@fucit.org>wrote: > > : &q=photo_id:* AND gender:true AND country:MALAWI AND online:false > > photo_id:* does not mean what you probably think it means. you most > likely want photo_id:[* TO *] given your current schema, but i would > recommend adding a new "has_photo" boolean field and using that instead. > > thta alone should explain a big part of what those queries would be slow. > > you didn't describe how your "q" param varies in your test queries (just > your fq). I'm assuming "gender" and "online" can vary, and that you > sometimes don't use the "photo_id" clauses, and that the "country" clause > can vary, but that these clauses are always all mandatory. > > in which case i would suggest using "fq" for all of them individually, and > leaving your "q" param as "*:*" (unless you sometimes sort on the actual > solr score, in which case leave it as whatever part of hte queyr you > actually want to contribute to hte score) > > Lastly: I don't remember off the top of my head how "int" and "tinit" are > defined in the example solrconfig files, but you should consider your > usage of them carefully -- particularly with the precisionStep and which > fields you do range queries on. > > > > -Hoss >