思考Sphinx无法识别“set_property:min_prefix_len”?

时间:2009-12-28 23:29:56

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

我一直在努力让Thinking Sphinx for Ruby处理前缀和/或星号,每次我生成一个新的配置文件时,它似乎都会忽略它。

这是我添加的行:

define_index do
    [... Stuff ...]
    set_property :min_prefix_len => 1
end

然后我跑:

rake ts:config
rake ts:in
rake ts:run

并没有什么新鲜事。我一直在检查配置文件,它永远不会因此而改变。我甚至手动进入并更改文件,然后用一个没有任何与min_prefix相关的文件替换。有什么想法吗?


编辑 -

我现在没有.yml文件。

2 个答案:

答案 0 :(得分:2)

我刚刚在我的本地机器上测试了它,它也不适合我......我会看看能不能找到bug的来源。我的错误,得到了设置键错了。它实际上适合我。

那么,您使用的是什么版本的Thinking Sphinx?你的索引定义还有什么?你有一个sphinx.yml文件?如果是这样,它里面有什么?

此外,值得继续讨论the Google group - 这对于来回调试来说有点好。

答案 1 :(得分:2)

问题的答案最终是:

- 升级到更新版本的TS - 旧版本(< 1.3.14)不支持多个索引

- 定义索引块需要像这样设置:

  define_index 'library_index' do
     [...]
  end

  define_index 'prefix_library_index' do
     [...]
     set_property :min_prefix_len => 1
  end

调用搜索功能需要指定索引,否则它将搜索所有索引 -

Library.search(keyword, { index => 'prefix_libary_index', <other params here> } )