2011-06-18 6 views

答えて

2

これを追加した後、あなたが含まれていないためにスペルチェッカインデックス

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

注意を構築することを要求することができる

<searchComponent name="spellcheck" class="solr.SpellCheckComponent"> 

    <lst name="spellchecker"> 
     <!-- 
      Optional, it is required when more than one spellchecker is configured. 
      Select non-default name with spellcheck.dictionary in request handler. 
     --> 
     <str name="name">default</str> 
     <!-- The classname is optional, defaults to IndexBasedSpellChecker --> 
     <str name="classname">solr.IndexBasedSpellChecker</str> 
     <!-- 
       Load tokens from the following field for spell checking, 
       analyzer for the field's type as defined in schema.xml are used 
     --> 
     <str name="field">spell</str> 
     <!-- Optional, by default use in-memory index (RAMDirectory) --> 
     <str name="spellcheckIndexDir">./spellchecker</str> 
     <!-- Set the accuracy (float) to be used for the suggestions. Default is 0.5 --> 
     <str name="accuracy">0.7</str> 
     <!-- Require terms to occur in 1/100th of 1% of documents in order to be included in the dictionary --> 
     <float name="thresholdTokenFrequency">.0001</float> 
    </lst> 
    <!-- Example of using different distance measure --> 
    <lst name="spellchecker"> 
     <str name="name">jarowinkler</str> 
     <str name="field">lowerfilt</str> 
     <!-- Use a different Distance Measure --> 
     <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str> 
     <str name="spellcheckIndexDir">./spellchecker</str> 

    </lst> 

    <!-- This field type's analyzer is used by the QueryConverter to tokenize the value for "q" parameter --> 
    <str name="queryAnalyzerFieldType">textSpell</str> 
</searchComponent> 
<!-- 
    The SpellingQueryConverter to convert raw (CommonParams.Q) queries into tokens. Uses a simple regular expression 
    to strip off field markup, boosts, ranges, etc. but it is not guaranteed to match an exact parse from the query parser. 

    Optional, defaults to solr.SpellingQueryConverter 
--> 
<queryConverter name="queryConverter" class="solr.SpellingQueryConverter"/> 

<!-- Add to a RequestHandler 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
NOTE: YOU LIKELY DO NOT WANT A SEPARATE REQUEST HANDLER FOR THIS COMPONENT. THIS IS DONE HERE SOLELY FOR 
THE SIMPLICITY OF THE EXAMPLE. YOU WILL LIKELY WANT TO BIND THE COMPONENT TO THE /select STANDARD REQUEST HANDLER. 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
--> 


<requestHandler name="/spellCheckCompRH" class="solr.SearchHandler"> 
    <lst name="defaults"> 
     <!-- Optional, must match spell checker's name as defined above, defaults to "default" --> 
     <str name="spellcheck.dictionary">default</str> 
     <!-- omp = Only More Popular --> 
     <str name="spellcheck.onlyMorePopular">false</str> 
     <!-- exr = Extended Results --> 
     <str name="spellcheck.extendedResults">false</str> 
     <!-- The number of suggestions to return --> 
     <str name="spellcheck.count">1</str> 
    </lst> 
<!-- Add to a RequestHandler 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
REPEAT NOTE: YOU LIKELY DO NOT WANT A SEPARATE REQUEST HANDLER FOR THIS COMPONENT. THIS IS DONE HERE SOLELY FOR 
THE SIMPLICITY OF THE EXAMPLE. YOU WILL LIKELY WANT TO BIND THE COMPONENT TO THE /select STANDARD REQUEST HANDLER. 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
--> 
    <arr name="last-components"> 
     <str>spellcheck</str> 
    </arr> 
    </requestHandler> 

あなたsolrconfig.xmlにSolrのウィキ、 からこの設定サンプルを次のセクションを追加します。これは、リクエストごとにスペルインデックスを作成するためです。 前のリクエストは最初のリクエストの後になります。

以前のXML sextionで10
http://localhost:8983/solr/spell?q=some query&spellcheck=true&spellcheck.collate=true 

は、この方法を

に対して、あなたのスペルチェッカーを構築したいフィールドでフィールドのスペルを置き換えるためにそして今あなたが

+0

をスペルチェックの力を感じることができます忘れson't私はスペルチェッカー辞書を手に入れました。しかし、私は検索結果にそれを含める方法を取得していません。私はjsonページのserach結果を表示するために私はjsonオブジェクトを解析しています。スペルチェッカが実行して持っているために <名前ARR =「ラスト・コンポーネント」> スペルチェック をデフォルトクエリの結果ハンドラに:私のURLがどうあるべきかsplellcheckerを含めること – Romi

+0

あなたが追加したことを確認します選択します。 – lindstromhenrik

+0

@lindstromhenrik:私はスペルチェックをリクエストハンドラに持っています。しかし、私は得ることができません私に教えてくださいなぜそうですか? – Romi

関連する問題