[ https://issues.apache.org/jira/browse/SOLR-2585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106907#comment-13106907 ]
Robert Muir commented on SOLR-2585: ----------------------------------- Just glancing over the patch, this adds a lot of logic to the specific implementations (e.g. DirectSpellChecker, AbstractLuceneSpellChecker), that doesn't really seem to be implementation-specific. Separately, (not your fault, looks like a pre-existing condition but its visible trying to review the patch), it seems like SpellCheckComponent is in need of serious refactoring, the long pages of code make it almost impossible to review changes like this. Do you have any ideas on any refactorings we can do (maybe we could spin off issues?) to try to resolve some of this? It seems like we want to try to improve the spellchecking APIs to make it easier to add features like this, though I am glad you are somehow managing with what exists :) > Context-Sensitive Spelling Suggestions & Collations > --------------------------------------------------- > > Key: SOLR-2585 > URL: https://issues.apache.org/jira/browse/SOLR-2585 > Project: Solr > Issue Type: Improvement > Components: spellchecker > Affects Versions: 4.0 > Reporter: James Dyer > Priority: Minor > Attachments: SOLR-2585.patch, SOLR-2585.patch, SOLR-2585.patch, > SOLR-2585.patch, SOLR-2585.patch > > > Solr currently cannot offer what I'm calling here a "context-sensitive" > spelling suggestion. That is, if a user enters one or more words that have > docFrequency > 0, but nevertheless are misspelled, then no suggestions are > offered. Currently, Solr will always consider a word "correctly spelled" if > it is in the index and/or dictionary, regardless of context. This issue & > patch add support for context-sensitive spelling suggestions. > See SpellCheckCollatorTest.testContextSensitiveCollate() for a the typical > use case for this functionality. This tests both using > IndexBasedSepllChecker and DirectSolrSpellChecker. > Two new Spelling Parameters were added: > - spellcheck.alternativeTermCount - The count of suggestions to return for > each query term existing in the index and/or dictionary. Presumably, users > will want fewer suggestions for words with docFrequency>0. Also setting this > value turns "on" context-sensitive spell suggestions. > - spellcheck.maxResultsForSuggest - The maximum number of hits the request > can return in order to both generate spelling suggestions and set the > "correctlySpelled" element to "false". For example, if this is set to 5 and > the user's query returns 5 or fewer results, the spellchecker will report > "correctlySpelled=false" and also offer suggestions (and collations if > requested). Setting this greater than zero is useful for creating > "did-you-mean" suggestions for queries that return a low number of hits. > I have also included a test using shards. See additions to > DistributedSpellCheckComponentTest. > In Lucene, SpellChecker.java can already support this functionality (by > passing a null IndexReader and field-name). The DirectSpellChecker, however, > needs a minor enhancement. This gives the option to allow DirectSpellChecker > to return suggestions for all query terms regardless of frequency. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org