Solr DirectSolrSpellChecker returns incorrect suggestions

36 Views Asked by At

I am using the DirectSolrSpellChecker in the solr.config file and the suggestions returned are more or less correct with the exception of the word "energy". If I search for "enery" or "eneryg" or "energyy" or "energgy" it suggests "energi", "emerg" etc. but not the intended "energy"

solr.config:

<lst name="spellchecker">
  <str name="name">default</str>
  <str name="field">page_title_t</str>
  <str name="classname">solr.DirectSolrSpellChecker</str>
  <str name="distanceMeasure">internal</str>
  <float name="accuracy">0.5</float>
  <int name="maxEdits">2</int>
  <int name="minPrefix">1</int>
  <int name="maxInspections">5</int>
  <int name="minQueryLength">4</int>
  <float name="maxQueryFrequency">0.01</float>
</lst>

I even tried the FileBasedSpellChecker and created a spellings.txt file, with one word per line, but it also returned the same results

 <lst name="spellchecker">
  <str name="name">filebased</str>
  <str name="field">page_title_t</str>
  <str name="classname">solr.FileBasedSpellChecker</str>
  <str name="sourceLocation">spellings.tx</str>
  <str name="characterEncoding">UTF-8</str>
  <str name="spellingcheckingIndexDir">./spellcheckerFile</str>
</lst>

Here is the solr query

https://localhost:8983/solr/avista_fxm_custom_index/spell?q=page_title_t:*eneryg&spellcheck=true&spellcheck.count=10&rows=100000000&version=2.2&spellcheck.build=true&wt=json&indent=true

Result:

{
 "responseHeader":{
  "status":0,
  "QTime":10},
  "response":{"numFound":0,"start":0,"docs":[]
},
  "spellcheck":{
   "suggestions":[
    "eneryg",{
      "numFound":3,
       "startOffset":14,
       "endOffset":20,
       "origFreq":0,
       "suggestion":[{
        "word":"energ",
        "freq":1},
      {
        "word":"energi",
        "freq":59},
      {
        "word":"emerg",
        "freq":4}]}],
"correctlySpelled":false,
"collations":[
  "collation",{
    "collationQuery":"page_title_t:*energ",
    "hits":1,
    "misspellingsAndCorrections":[
      "eneryg","energ"]},
  "collation",{
    "collationQuery":"page_title_t:*energi",
    "hits":59,
    "misspellingsAndCorrections":[
      "eneryg","energi"]},
     "collation",{
      "collationQuery":"page_title_t:*emerg",
      "hits":4,
      "misspellingsAndCorrections":[
       "eneryg","emerg"]}]}}

What am I missing? Is my FilebasedSpellchecker not working either?

0

There are 0 best solutions below