gpt4 book ai didi

ruby-on-rails - Sphinx 返回错误的搜索结果

转载 作者:数据小太阳 更新时间:2023-10-29 07:15:44 34 4
gpt4 key购买 nike

我正在使用带有 Thinking Sphinx 插件的 Sphinx。我用以下代码(和 rake thinking_sphinx:index 命令)索引了一个名为 Venue 的模型

define_index do
indexes :name
indexes city
indexes zip
end

我使用以下代码在我的 Controller 中获取结果:

@venues = Venue.search params[:search]

然后我将它们呈现为 json。我遇到的问题是,当我点击这个 URL 时:

http://localhost:3000/venue/list?search=Baltimo

我一无所获。但是当我点击这个 URL 时:

http://localhost:3000/venue/list?search=Baltimor

我得到了位于巴尔的摩市的所有场馆。出于某种原因,一个角色会有所作为。理论上,如果我只搜索一个字符 - 'b',我应该得到巴尔的摩的所有 field

有人知道这是怎么回事吗?

谢谢

最佳答案

除非您将 enable_star 设置为 1 并将 min_prefix_lenmin_infix_len 设置为 1 或更多,否则您不会获得 B 以匹配 Baltimore (即便如此,我认为您需要搜索 B* 才能找到匹配项)。

这里发生的是默认情况下,Thinking Sphinx 告诉 Sphinx 使用英文词干分析器,这允许将相似 词(按字符,而不是按含义)视为匹配项,因此它把 strong>Baltimor 和 Baltimore 在同一个篮子里。

如果你想匹配任何单词的任何部分,那么你需要在 config/sphinx.yml 中添加如下内容:

development:
enable_star: 1
min_infix_len: 1
test:
enable_star: 1
min_infix_len: 1
production
enable_star: 1
min_infix_len: 1

然后停止 Sphinx,重新索引,然后重新启动 Sphinx。完成后,搜索 B* 应该会返回巴尔的摩。

希望这对您有所帮助。

关于ruby-on-rails - Sphinx 返回错误的搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/754115/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com