: fq AND fq AND fq AND (fqu OR fqu OR fqu) : : It would be awesome to have a syntax that creates arbitrarily complex and : nested AND/OR combinations, but that would be a MAJOR undertaking. The logic : I've mentioned above seems to be the most useful you could get with just : having the one additional parameter. You can get pure union by just using
the syntax isn't really the hard part. where things get tricky is in the internals of th SolrIndexSearcher and SearchHandler so that you cache those "fqu" params independently and then union the results, particularly when those fq/fqu params need to be part of the cache key for the queryResultCache ... a lot of little changes to the internals. It's been discussed at a high level a sporadically over the years, but no one has had the drive/energy/knowledge to dig into the guts and make it work. Having built several custom faceting components over the years (that apply special biz rules) i can tell you that generating DocSets and then computing unions/intersections is easy and efficient (the SolrIndexSearcher/SolrCache/DocSet APIs are really straight forward), but anytime you want to then use that DocSet to constrain a DocList ... you run into complications. -Hoss