【问题标题】:Wildcard search using SearchKick使用 SearchKick 进行通配符搜索
【发布时间】:2015-05-12 21:41:15
【问题描述】:

有没有办法在一个单词之后和一个单词之前使用通配符,如下所述..

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

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

【问题讨论】:

    标签: ruby-on-rails ruby search elasticsearch searchkick


    【解决方案1】:

    希望还为时不晚。

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

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2019-03-08
      • 2023-03-05
      • 1970-01-01
      • 2012-10-11
      相关资源
      最近更新 更多