: &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

Reply via email to