我用过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