ruby-on-rails - 使用SearchKick进行通配符搜索

标签 ruby-on-rails ruby search elasticsearch searchkick

是否有任何方法可以在单词之后和单词之前使用通配符,如下所述。

User.search "*" + "admi"+"*"

或使用SearchKick gem解决此类问题的任何其他解决方案。

最佳答案

希望不会太晚。

您希望关键字出现在文本的中间,对吗?您应该使用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

关于ruby-on-rails - 使用SearchKick进行通配符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980876/

相关文章:

ruby-on-rails - Ruby 2.0.0,而不是 Rails 站点上推荐的 2.1.0?

ruby-on-rails - 从 Rails 6 应用程序中完全删除/assets 目录

c++ - 如何在不吞噬 CPU 的情况下进行大量处理?

ruby - 获取 watir-webdriver 中子节点的集合

javascript - 如何使对象数组的搜索框在区分大小写且无空格的情况下使用react

jquery - 在数据表中保存/恢复搜索值

Android - 为 RecyclerView 实现搜索过滤器

ruby-on-rails - 以设定的时间间隔更新 Controller 变量

ruby-on-rails - 在推送到 Heroku 之前删除 Rails 中的预编译 Assets

ruby - Ruby Array #count 如何处理多个 block 参数