我一直在努力让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文件。
答案 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> } )