当查询指定如下,即提供完全匹配时,searchkick会给出结果。
User.search(" 9898989898",字段:[{first_name :: word_start}, :middle_name,:last_name,:phone_number])
但是当提供部分查询,即没有完全匹配时,则不会获得搜索结果。
User.search(" 9898",字段:[{first_name :: word_start},:middle_name, :last_name,:phone_number])此查询不会给出任何结果。
注意:查询可以是first_name,middle_name和last_name的字符串,而phone_number的数字
有人对此有所了解吗?
答案 0 :(得分:0)
如果您希望部分匹配电话号码字段以及first_name,则需要为这两个字段提供word_start。你可以试试这个:
User.search("9898", fields: [{first_name: :word_start}, :middle_name, :last_name, {phone_number: :word_start}]).
并且在用户模型中请放置两个字段 searchkick word_start:[:first_name,:phone_number]