如何让libstemmer在Debian中使用sphinx?

时间:2012-02-08 14:05:16

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

我尝试为网站激活libstemmer。 我的sphinx版本是Debian服务器上的Sphinx 0.9.9-release(r2117),在我的dev env(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编译?
  • 如何在狮身人面像上方安装libstemmer /或以安全的方式重新安装狮身人面像?

注意:我使用:

安装了sphinx
apt-get install sphinx

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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