You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by cjkadakia <cj...@sonicbids.com> on 2010/03/01 22:15:47 UTC
Issues with spell checker
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
Update: I just wanted to resubmit this to the forum since it's been pending
for over 4 days. I was able to, quite simply, set my default spellchecker to
use the FileBasedSpellChecker. However, moving forward, it would be best to
have our spell checking use both the spellings text file for standard
English words as well as our own index for specific non-English words that
are present in the index.
--
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.
Re: Issues with spell checker
Posted by Pascal Dimassimo <th...@hotmail.com>.
You could try using Luke on the spellcheck index to see if it contains
something.
cjkadakia wrote:
>
> 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-tp27714467p27714486.html
Sent from the Solr - User mailing list archive at Nabble.com.