我正在尝试在Websolr上设置Heroku app。我正在关注instructions in the 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
我做错了什么?
答案 0 :(得分:2)
我在这里有两个想法:
首先,您没有提及在更改schema.xml
后是否重新启动Solr。那么:你重新启动Solr以便你的更改生效吗? :)
接下来,我想知道术语grit
是否有资格在Porter词干算法下删除t
。您需要仔细阅读PorterStemmer algorithm才能确定。但您也可以尝试一些更明显的例子(例如,writing
到write
)。