【发布时间】:2015-05-12 21:41:15
【问题描述】:
有没有办法在一个单词之后和一个单词之前使用通配符,如下所述..
User.search "*" + "admi"+"*"
或使用 SearchKick gem 解决此类问题的任何其他解决方案。
【问题讨论】:
标签: ruby-on-rails ruby search elasticsearch searchkick
有没有办法在一个单词之后和一个单词之前使用通配符,如下所述..
User.search "*" + "admi"+"*"
或使用 SearchKick gem 解决此类问题的任何其他解决方案。
【问题讨论】:
标签: ruby-on-rails ruby search elasticsearch searchkick
希望还为时不晚。
您希望关键字出现在文本中间,对吗?您应该使用Partial Matches 作为您的搜索选项。
例如,在模型中用户:
class User < ActiveRecord::Base
searchkick text_middle: [ :name ]
end
搜索:
User.search("admi", fields: [{name: :text_middle}]).each do |user|
# Do something with user
end
如果搜索结果为空,请在搜索前尝试User.reindex。
【讨论】: