将词干添加到我的 schema.xml 文件不起作用

发布于 2024-10-22 03:19:44 字数 1273 浏览 2 评论 0 原文

我正在尝试在我的 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

我做错了什么?

I'm trying to setup Websolr on my Heroku app. I'm following the instructions in the Heroku docs. I've got the initial setup working fine.

In development:

ruby-1.9.2-p0 > Note.search { keywords 'grit' }.results.length
 => 3

I am trying to add stemming. I updated the relevant part of my schema.xml file to this:

<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>

I then reindexed:

$ rake sunspot:reindex

But it doesn't seem to work at all:

ruby-1.9.2-p0 > Note.search { keywords 'gri' }.results.length
 => 0

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月棠 2024-10-29 03:19:44

我在这里有两个想法:

首先,您没有提到更改 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 its t 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 to write).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文