【问题标题】:How can I make libstemmer work with sphinx in Debian?如何使 libstemmer 在 Debian 中与 sphinx 一起工作?
【发布时间】:2012-02-08 14:05:16
【问题描述】:

我尝试为网站激活 libstemmer。 我的 sphinx 版本是 Debian 服务器上的 Sphinx 0.9.9-release (r2117),在我的开发环境(Mac OSX,相同的 sphinx)中一切正常。

索引时出现此错误:

invalid morphology option 'libstemmer_french' - IGNORED

我的选择是

min_prefix_len = 4
enable_star = 1
html_strip = 1
charset_table = (...)
morphology = libstemmer_french

在阅读了有关 libstemmer 的更多信息后,我怀疑我的 sphinx 安装不支持 libstemmer。 它是一个生产服务器,所以我不能尝试失败太多。我的问题是:

  • 如何检查 libstemmer 是否已使用 sphinx 编译?
  • 如何在 sphinx 上安装 libstemmer / 或以安全的方式重新安装 sphinx?

注意:我安装狮身人面像使用:

apt-get install sphinx

...所以不知道配置选项。

【问题讨论】:

    标签: ruby-on-rails sphinx thinking-sphinx


    【解决方案1】:

    默认情况下,Sphinx 仅适用于俄语和英语词干提取。您必须使用另一个版本的 libstemmer_c 编译 sphinx 才能获得对法语词干的支持:

    请按照以下步骤操作:

    1) 获取最新的 sphinx 版本:

    svn checkout http://sphinxsearch.googlecode.com/svn/trunk/ sphinxsearch-read-only
    

    2) 获取 libstemmer_c 库:

    wget http://snowball.tartarus.org/dist/libstemmer_c.tgz
    

    3) 替换sphinx源码目录下的libstemmer_c:

    tar xf libstemmer_c.tgz && cp -rfp libstemmer_c/* sphinxsearch-read-only/libstemmer_c/
    

    4) 使用适当的参数配置 sphinx:

    ./configure --enable-id64 --with-libstemmer && make
    

    【讨论】:

    • 谢谢!我试过你的方法,现在索引时 libstemmer_french 似乎没问题。问题是你让我安装了sphinx 2.1.0,已经和thinking sphinx不兼容了。
    • 它成功了,我只需要将thinking-sphinx 更新到1.4.11 并将谜语更新到1.5.1,然后重建索引。再次感谢!
    【解决方案2】:

    至少在我的 Ubuntu 12.04.1 LTS 安装中,我已经可以使用 libstemmer0d 包中包含的 Snowball 词干分析器,而我也只需使用 apt-get install。无需编译任何东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多