Re: catch_all field versus multiple OR Boolean query
Hi Eric, Yes, we are using the Dismax parser. It was more the "All search fields" selected use case that we were wondering about.. We specify a omitNorms=true for the catch_all field option which we have found to yield better results in our case, but we don't do that for all the other fields so, as you say, that might be the reason.. Thanks very much, - Savvas On 30 March 2011 00:37, Erick Erickson wrote: > It's not so much the Boolean as it is different field characteristics. > The length > of a field factors into the score, and a boolean query that goes against > the > individual fields will certainly score differently than putting all > the fields in a > catch-all which is, obviously, longer. > > Have you looked at the dismax query parser? It allows you to > distribute queries over > fields automatically, even with varying boosts. > > Finally, consider adding &debugQuery=on to your query to see what each > field > contributes to the score, that'll help with understanding the scoring, > although it's > a little hard to read... > > Best > Erick > > On Tue, Mar 29, 2011 at 6:06 PM, Savvas-Andreas Moysidis > wrote: > > Hello, > > > > Currently in our index we have multiple fields and a > catch_all > > field. When users select all search options we specify the catch_all > field > > as the field to search on. This has worked very well for our needs but a > > question was recently raised within our team regarding the difference > > between using a catch_all field and specifying a Boolean query by OR-ing > all > > fields together. > > From our own experimentation, we have observed that using those two > > different strategies we get back different results lists. > > > > By looking at the Similarity class, we can understand how the score is > > calculated for the catch_all field but is there any input on how the > score > > gets calculated for the Boolean query? > > > > Regards, > > - Savvas > > >
Re: catch_all field versus multiple OR Boolean query
It's not so much the Boolean as it is different field characteristics. The length of a field factors into the score, and a boolean query that goes against the individual fields will certainly score differently than putting all the fields in a catch-all which is, obviously, longer. Have you looked at the dismax query parser? It allows you to distribute queries over fields automatically, even with varying boosts. Finally, consider adding &debugQuery=on to your query to see what each field contributes to the score, that'll help with understanding the scoring, although it's a little hard to read... Best Erick On Tue, Mar 29, 2011 at 6:06 PM, Savvas-Andreas Moysidis wrote: > Hello, > > Currently in our index we have multiple fields and a catch_all > field. When users select all search options we specify the catch_all field > as the field to search on. This has worked very well for our needs but a > question was recently raised within our team regarding the difference > between using a catch_all field and specifying a Boolean query by OR-ing all > fields together. > From our own experimentation, we have observed that using those two > different strategies we get back different results lists. > > By looking at the Similarity class, we can understand how the score is > calculated for the catch_all field but is there any input on how the score > gets calculated for the Boolean query? > > Regards, > - Savvas >
catch_all field versus multiple OR Boolean query
Hello, Currently in our index we have multiple fields and a catch_all field. When users select all search options we specify the catch_all field as the field to search on. This has worked very well for our needs but a question was recently raised within our team regarding the difference between using a catch_all field and specifying a Boolean query by OR-ing all fields together. >From our own experimentation, we have observed that using those two different strategies we get back different results lists. By looking at the Similarity class, we can understand how the score is calculated for the catch_all field but is there any input on how the score gets calculated for the Boolean query? Regards, - Savvas