elasticsearch,tire,Ruby,elasticsearch,Tire" /> elasticsearch,tire,Ruby,elasticsearch,Tire" />

Ruby elasticsearch轮胎宝石精确匹配

Ruby elasticsearch轮胎宝石精确匹配,ruby,elasticsearch,tire,Ruby,elasticsearch,Tire,我目前正在使用Tire来访问我的ES数据,但我无法让它进行精确匹配,例如 User.search :per_page => 10 do query do boolean do must { match :first_name, 'tom'} must { match :last_name, 'smith'} end end end 然而,它返回的名字是汤姆、汤姆斯、汤米和汤米娜。。当我希望它只匹配tom时。尝试匹配短语查询 Us

我目前正在使用Tire来访问我的ES数据,但我无法让它进行精确匹配,例如

User.search :per_page => 10 do 
 query do
    boolean do
       must { match :first_name, 'tom'}
       must { match :last_name, 'smith'}
       end
   end
end

然而,它返回的名字是汤姆、汤姆斯、汤米和汤米娜。。当我希望它只匹配tom时。

尝试匹配短语查询

User.search :per_page => 10 do 
 query do
    boolean do
       must { match :first_name, 'tom', :type => :phrase}
       must { match :last_name, 'smith', :type => :phrase}
       end
   end
end

您可以尝试使用查询\u字符串查询:
User.search :per_page => 10 do 
 query do
    boolean do
       must { string 'first_name:tom'}
       must { string 'last_name:smith'}
       end
   end
end
User.search:per_page=>10 do
询问
布尔do
必须{string'名字:tom'}
必须{string'姓氏:smith'}
结束
结束
结束


如果这不起作用,则意味着您必须检查分析仪。

这取决于使用的分析仪。你的方法是什么?我得到了轮胎的未定义方法
match\u phrase
:搜索::查询。@jeremywoertink你使用哪个版本的轮胎?我有
0.6.1
版本正在运行。很抱歉耽搁了,你能尝试将
:type=>phrase
作为选项进行匹配吗。如果这有效,请让我知道。我会相应地更新答案。我只是根据elasticsearch选项给出了答案。我原以为轮胎也会使用相同的选项。是的,成功了!。更新后的答案对我来说很好。谢谢:)