部分匹配不适用于使用搜索踢的电话号码字段



当查询被指定如下时,即提供完全匹配,然后搜索kick给出结果。

User.search("9898989898", fields: [{first_name: :word_start}, :middle_name, :last_name, :p hone_number])

但是当提供部分查询时,即没有完全匹配,则不会获得搜索结果。

User.search("9898", fields: [{first_name: :word_start}, :middle_name, :last_name, :p hone_number]) 此查询不会给出任何结果。

注意:查询可以是字符串表示first_name、middle_name和last_name,而数字可以是phone_number

有人对此有想法吗?

如果要对

电话号码字段以及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, :p hone_number]

最新更新