0

我需要你的帮助来解决 Thinking Sphinx 中的一个问题。
我正在使用 'sphinx-2.0.5-win32' 并关注
gem 'thinking-sphinx'、'2.0.13' 和 gem 'riddle'、'1.5.3'

sphinx.yml 包含
开发:
min_infix_len: 3
charset_table: "0..9, A..Z->a..z, _, a..z, -, U+410..U+42F->U+430 ..U+44F, U+430..U+44F, ., %, @, #, &, *, $"
binlog_path: '#'

我的模型文件:
Class Rm
define_index do
set_property :delta => true
索引 :code, :as => :rm_code, :sortable => true
has id
end
end


我正在这样搜索:
Rm.search Riddle.escape('"rm0001"'), :page => params[:page], :per_page => 25, :match_mode => :extended -------- ---> 得到 2 个结果

代码

rm0001
rm0001N


我只想在搜索结果中显示“rm0001”,
请帮帮我

提前致谢。
普拉文

4

1 回答 1

0

您已经设置了 min_infix_len - 启用部分单词匹配。

但 NOT 设置 enable_star=true,这意味着查询自动是部分词。

因此,要么删除 min_infix_len 以禁用部分单词匹配,要么设置 enable_star 以便部分单词匹配仅在包含 * 在单词的星号/结尾时发生。

于 2013-10-05T05:11:32.053 回答