0

我正在尝试在我的Heroku 应用程序上设置Websolr。我正在按照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

我究竟做错了什么?

4

1 回答 1

2

我在这里给你两个想法:

首先,您没有提到在更改schema.xml. 那么:您是否要重新启动 Solr 以便您的更改生效?:)

接下来,我想知道该术语grit是否甚至有资格t根据 Porter 词干算法将其删除。您需要仔细阅读PorterStemmer 算法才能确定。但是你也可以尝试一些更明显的例子(比如writingto write)。

于 2011-03-17T05:32:04.627 回答