在思考sphinx min_infix_len不能在生产中工作

时间:2016-02-10 10:08:26

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

我用过min_infix_len => 2.在我的model.rb文件中,通过拆分sphinx中的单词来改善项目的搜索。一切都在发展中很好。

但在我的作品中,这些词语并没有被分割和搜索。

例如,

如果我有这样的字符串“1234567890”。如果我将整个字符串作为“1234567890”,我将在搜索结果中获取字符串。但如果我给出“123”,搜索词就不会被搜索和显示。为了解决这个问题,我使用了min_infix_len => 2在model.rb中如下所示。

 define_index do
  indexes id
  indexes title
  indexes ticket_status
  indexes state
  set_property :min_infix_len => 3
 end

并生成索引,这在我的development.sphinx.conf中更新如下:

index ticket_core
{
  path = /home/abhiram/projects/railsfactory/connect/db/sphinx/development/ticket_c   
 index ticket_core
   charset_type = utf-8
   min_infix_len = 3
   source = ticket_core_0
 }

在此之后如果重新启动sphinx并搜索我得到了预期的结果,那个字符串就像我预期的那样被搜索。

但是在生产中我有相同的设置,索引也在我的production.sphinx.conf中更新

 index ticket_core
   charset_type = utf-8
   min_infix_len = 3
   source = ticket_core_0
 }

重新启动sphinx后,正常搜索工作正常,但我想要的子字符串搜索不像它在开发中那样工作。如果没有在字段中提供完整的字符串,则不会搜索字符串。

这是我的sphinx.yml

development:
  bin_path: '/usr/bin'
production:
  bin_path: '/usr/bin'

我不知道如何在sphinx中调试它。任何身体都可以指导我。我想知道如何让min_infix_len = 3在生产中工作。

我使用旧版本的rails,因为该应用程序已经过时了:

rails 2.1 红宝石1.8.7 思考 - 狮身人面像1.4.14

0 个答案:

没有答案