I had to deal with spellchecking today a bit. Make sure you are
performing the analysis step at index-time as such:
schema.xml:
<fieldType name="textSpell" class="solr.TextField"
positionIncrementGap="100" omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StandardFilterFactory"/>
</analyzer>
</fieldType>
<fields>
.....
<field name="spell" type="textSpell" indexed="true" stored="false"
multiValued="true"/>
</fields>
From http://wiki.apache.org/solr/SpellCheckingAnalysis:
Use a<copyField> to divert your main text fields to the spell field and then
configure your spell checker to use the "spell" field to derive the spelling index.
After this, you'll need to query a spellcheck-enabled handler with
spellcheck.build=true or enable spellchecker index builds during optimize.
Hope this helps,
Dan Lynn
http://twitter.com/danklynn
On 11/16/2010 05:45 PM, Eric Martin wrote:
Hi (again)
I am looking at the spell checker options:
http://wiki.apache.org/solr/SpellCheckerRequestHandler#Term_Source_Configura
tion
http://wiki.apache.org/solr/SpellCheckComponent#Use_in_the_Solr_Example
I am looking in my solrconfig.xml and I see one is already in use. I am kind
of confused by this because the recommended spell checker is not default in
my Solr 1.4.1. I have read the documentation but am still fuzzy on what I
should do.
My site uses legal terms and as you can see, some terms don't jive with the
default spell checker so I was hoping to map the spell checker to the body
for referencing dictionary words. I am unclear what approach I should take
and how to start the quest.
Can someone clarify what I should be doing here? Am I on the right track?
Eric