1

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

这是我添加的行:

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

然后我运行:

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

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


编辑 -

我现在没有 .yml 文件。

4

2 回答 2

2

我刚刚在我的本地机器上测试了这个,它也对我不起作用......我会看看我是否能找到错误的来源。我的错,设置键错误。它实际上对我来说很好。

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

此外,可能值得在 Google 小组上继续讨论- 来回调试更好一些。

于 2009-12-29T01:37:34.190 回答
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> } )
于 2010-01-07T18:50:20.950 回答