Jeff,

Just to clarify - with edismax, q=*:* is fine and matches all documents.  With 
dismax (and also edismax), q.alt with no q is needed to match all documents. 

        Erik



On Nov 23, 2011, at 08:20 , Jeff Schmidt wrote:

> Thanks, Erik.  I'm moving on to edismax, and will set q.alt=*:* and not 
> specify q if no user provided terms.
> 
> Take it easy,
> 
> Jeff
> 
> On Nov 22, 2011, at 11:53 AM, Erik Hatcher wrote:
> 
>> I think you're using dismax, not edismax. edismax will take q=*:* just fine 
>> as it handles all Lucene syntax queries also.  dismax does not.
>> 
>> So, if you're using dismax and there is no actual query (but you want to get 
>> facets), you set q.alt=*:* and omit q - that's entirely by design.
>> 
>> If there's a non-empty q parameter, q.alt is not considered so there 
>> shouldn't be any issues with always have q.alt set if that's what you want.
>> 
>>      Erik
>> 
>> 
>> On Nov 22, 2011, at 11:15 , Jeff Schmidt wrote:
>> 
>>> 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
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
> 
> 
> 
> --
> Jeff Schmidt
> 535 Consulting
> j...@535consulting.com
> http://www.535consulting.com
> (650) 423-1068
> 
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to