Hello All,

I'm new to Solr, so forgive me if I'm overlooking something obvious. My
observation is that the spellcheck.onlyMorePopular property of the
SpellCheckComponent seems to not do what I expect.

If I send the query "calvin klien" to my data store, then the spell
checker correctly suggests "klein" for "klien," and running the new
"calvin klein" query returns the expected many product results.

However, when sending the correct query of "calvin klein," the spell
checker will suggest "cin2" (another brand name in our data store) for
"klein," and running that new "calvin cin2" collated query obviously
returns zero results.

It would seem to me that the "onlyMorePopular" property, when set to
true, only performs its calculation of popularity on the particular
misspelled word alone, and not the query as a whole. Since there are
indeed more C-IN2 brand products in our database, it returns "cin2" has
a spelling correction for "klein," seeing that the "cin2" token alone
returns many results but not bothering to check that "calvin cin2"
returns none. 

A less astonishing behavior would be for it to suggest "cin2", test to
see how many hits "calvin cin2" returns, see that it returns less than
"calvin klein", and then exclude that suggestion because it is not more
popular in the context of the original query.

So:

1 - Is my analysis correct? Is this really how it works?

2 - Is there a configuration setting that I can do to make the spell
checker use the desired behavior? Or, should I just immediately submit a
request with its correlated suggestion with zero rows and do a
comparison on the results, effectively performing the "onlyMorePopular"
calculation myself?

Many thanks; so far, Solr is proving to be an excellent product!

V/R,
Nicholas Piasecki

Software Developer
Skiviez, Inc.
1-800-628-1693 x6003
n...@skiviez.com


Reply via email to