See interjected responses below

On 11/16/2010 06:14 PM, Eric Martin wrote:
Thanks Dan! Few questions:

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.
Right. A copyField just copies data from one field to another during the indexing process. You can copy one field to n other fields without affecting the original.
This will still keep my current copyfield for the same data, right?

I don't need to rebuild, just reindex.

" After this, you'll need to query a spellcheck-enabled handler with
spellcheck.build=true or enable spellchecker index builds during optimize."
If you are using the default solrconfig.xml, a requesthandler should already be set up for you (but you should need a dedicated one for production: you can just embed the spell checker component in your default handler). Just query the example like this:

http://localhost:8983/solr/spell?q=ANYTHINGHERE&spellcheck=true&spellcheck.collate=true&spellcheck.build=true

Note the "spellcheck.build=true" parameter.

Cheers,
Dan
http://twitter.com/danklynn


Totally lost on that.

I will buy a book here shortly.

-----Original Message-----
From: Dan Lynn [mailto:d...@danlynn.com]
Sent: Tuesday, November 16, 2010 5:01 PM
To: solr-user@lucene.apache.org
Subject: Re: Spell Checker

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




Reply via email to