将词干添加到我的 schema.xml 文件不起作用
我正在尝试在我的 Websolr websolr" rel="nofollow">Heroku 应用。我正在遵循 Heroku 文档中的说明。我的初始设置工作正常。
开发中:
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
我做错了什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我在这里有两个想法:
首先,您没有提到更改
schema.xml
后是否重新启动 Solr。那么:您是否重新启动 Solr 以使更改生效? :)接下来,我想知道术语
grit
是否有资格在波特词干算法下将其t
删除。您需要仔细阅读 PorterStemmer 算法才能确定。但您也可以尝试一些更明显的示例(例如,将writing
改为write
)。I have two ideas for you here:
Firstly, you didn't mention whether you were restarting Solr after changing your
schema.xml
. So: are you restarting Solr so your changes can take effect? :)Next, I am wondering if the term
grit
would even qualify to have itst
removed under the Porter stemming algorithm. You would need to have a close read of the PorterStemmer algorithm to be sure. But you may also try some more obvious examples (say,writing
towrite
).