schema.xmlファイルにステムを追加することは機能しません
-
25-10-2019 - |
質問
セットアップしようとしています websolr 私の〜の上に Herokuアプリ. 。私はフォローしています Heroku Docsの指示. 。最初のセットアップは正常に動作しています。
開発中:
ruby-1.9.2-p0 > Note.search { keywords 'grit' }.results.length
=> 3
私は茎を追加しようとしています。 schema.xmlファイルの関連部分をこれに更新しました。
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
その後、再インネックスしました:
$ rake sunspot:reindex
しかし、それはまったく機能していないようです:
ruby-1.9.2-p0 > Note.search { keywords 'gri' }.results.length
=> 0
私は何が間違っているのですか?
解決
ここには2つのアイデアがあります:
第一に、あなたはあなたがあなたを変更した後にあなたがsolrを再起動したかどうかについては言及しませんでした schema.xml
. 。だから:あなたはあなたの変更が有効になるようにsolrを再起動していますか? :)
次に、私はこの用語かどうか疑問に思っています grit
それを持っている資格さえあります t
ポーターステムのアルゴリズムの下で削除されました。あなたは次のことをよく読む必要があります Porter -Stemmerアルゴリズム 念のため。しかし、あなたはもっと明白な例を試すこともできます(たとえば、 writing
に write
).
所属していません StackOverflow