First of all, I want to thank you guys for your help thus far. It's been very
useful during my search-engine integration project. :)

So I'm having a few issues with the spell checking component of Solr. For
reference, I'm using Solr 1.4.

First, I'm not getting any search results period. Here's my query:

http://SOLRSERVER/solr/spell?q=internatoinal&spellcheck=true&spellcheck.extendedResults=true&spellcheck.collate=true

"International" is a word that appears somewhat often in the catch all text
field and the name field of our index.
I have also already sent in the same query with a "spellcheck.build=true"
request to build the index. Watching the server, however, I didn't notice
any outputs illustrating a spell checking index being built, but that may be
normal.

Here are the results from the XML I get from the query above:

<response>
    <lst name="responseHeader">
        <int name="status">0</int>
        <int name="QTime">0</int>
    </lst>
    <result name="response" numFound="0" start="0"/>
        <lst name="spellcheck">
        <lst name="suggestions">
            <bool name="correctlySpelled">false</bool>
        </lst>
    </lst>
</response>

And here are the relevant portions of the solrconfig.xml regarding spelling:

  <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="classname">solr.IndexedBasedSpellChecker</str>
      <str name="field">spell</str>
      <str name="spellcheckIndexDir">./spellchecker</str>
      <str name="accuracy">0.7</str>
      <str name="buildOnCommit">true</str>
    </lst>
    <str name="queryAnalyzerFieldType">textSpell</str>
  </searchComponent>

  <requestHandler name="/spell" class="solr.SearchHandler" lazy="true">
    <lst name="defaults">
      <str name="spellcheck.dictionary">default</str>
      <!-- omp = Only More Popular -->
      <str name="spellcheck.onlyMorePopular">true</str>
      <!-- exr = Extended Results -->
      <str name="spellcheck.extendedResults">false</str>
      <!--  The number of suggestions to return -->
      <str name="spellcheck.count">1</str>
    </lst>
    <arr name="last-components">
      <str>spellcheck</str>
    </arr>
  </requestHandler>


Is there something I'm doing wrong? This, again, is just to return results
from the IndexedBasedSpellChecker from our index.

Once this is resolved, I'll also need some suggestions on how to, instead,
just run spell checking against a standard English dictionary. While it
would be very nice to have spelling suggestions be built from our index, the
index contains many non-standard words that may produce unexpected spelling
suggestions to our end users and we feel that using a standard English
dictionary may at least be a good way to start. Later we may want to use
both (if possible), but for now, I'd like to 1. figure out why my spell
checking isn't working properly as is with the indexed based checking and 2.
then get some tips/suggestions in how to implement spell checking using a
standard English dictionary.

Thanks in advance.

-CJ
-- 
View this message in context: 
http://old.nabble.com/Issues-with-spell-checker-tp27714467p27714467.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to