Hi Erik: It's not in the SolrJ library, but rather my use of it:
In my application code: protected static final String SOLR_ALL_DOCS_QUERY = "*:*"; /* * If no search terms provided, then return all neighbors. * Results are to be returned in neighbor symbol alphabetical order. */ if (searchTerms == null) { searchTerms = SOLR_ALL_DOCS_QUERY; nodeQuery.addSortField("n_name", SolrQuery.ORDER.asc); } So, if no user search terms are provided, I search all documents (there are other fqs in effect) and return them in name order. That worked just fine. Then I read more about [e]dismax, and went and configured: <str name="q.alt">*:*</str> Then I would get zero results. It's not a SolrJ issue though, as this request in my browser also resulted in zero results: http://localhost:8091/solr/ing-content/select/?qt=partner-tmo&fq=type%3Anode&fq=n_neighborof_id%3AING\:afa&q=*:*&rows=5&facet=true&facet.mincount=1&facet.field=n_neighborof_processExact&facet.field=n_neighborof_edge_type That was due to the q=*:*. Once I set, say, q=cancer, I got results. So I guess this is a [e]dismax thing? (partner-tmo is the name of my request handler). I solved my problem by net setting *:* in my application, and left q.alt=*:* in place. Hope this helps. Again, this is stock Solr 3.4.0, running the Apache war under Tomcat 6. Jeff On Nov 22, 2011, at 8:05 AM, Erik Hatcher wrote: > > On Nov 22, 2011, at 09:55 , Jeff Schmidt wrote: >> When using [e]dismax, does configuring q.alt=*:* and not specifying q affect >> the performance/caching in any way? > > No different than using q=*:* with the "lucene" query parser. > MatchAllDocsQuery is possibly the fastest query out there! (it simply > matches documents in index order, all scores are 1.0) > >> As a side note, a while back I configured q.alt=*:*, and the application >> (via SolrJ) still set q=*:* if no user input was provided (faceting). With >> both of them set that way, I got zero results. (Solr 3.4.0) Interesting. > > Ouch. Really? I don't see in the code (looking at my trunk checkout) where > there's any *:* used in the SolrJ library. Can you provide some details on > how you used SolrJ? It'd be good to track this down as that seems like a bug > to me. > > Erik > > >> >> Thanks, >> >> Jeff >> >> On Nov 22, 2011, at 7:06 AM, Erik Hatcher wrote: >> >>> If all you're doing is filtering (browsing by facets perhaps), it's >>> perfectly fine to have q=*:*. MatchAllDocsQuery is fast (and would be >>> cached anyway), so use *:* as appropriate without worries. >>> >>> Erik >>> >>> >>> >>> On Nov 22, 2011, at 07:18 , pravesh wrote: >>> >>>> Usually, >>>> >>>> Use the 'q' parameter to search for the free text values entered by the >>>> users (where you might want to parse the query and/or apply >>>> boosting/phrase-sloppy, minimum match,tie etc ) >>>> >>>> Use the 'fq' to limit the searches to certain criterias like location, >>>> date-ranges etc. >>>> >>>> Also, avoid using the q=*:* as it implicitly translates to >>>> matchalldocsquery >>>> >>>> Regds >>>> Pravesh >>>> >>>> -- >>>> View this message in context: >>>> http://lucene.472066.n3.nabble.com/how-to-make-effective-search-with-fq-and-q-params-tp3527217p3527535.html >>>> Sent from the Solr - User mailing list archive at Nabble.com. >>> >> >> >> >> -- >> Jeff Schmidt >> 535 Consulting >> j...@535consulting.com >> http://www.535consulting.com >> (650) 423-1068 >> >> >> >> >> >> >> >> >> > -- Jeff Schmidt 535 Consulting j...@535consulting.com http://www.535consulting.com (650) 423-1068