【发布时间】:2018-02-27 08:47:23
【问题描述】:
如何让searchkick搜索整数字段?
假设我有一个 Book 模型,它具有三个属性,即 name:string、author:string 和 pages:integer。
我想根据 pages 字段进行搜索。现在,如果我使用如下查询,它适用于字符串字段,即名称和作者,但不适用于整数类型的 pages 字段。
Book.search(q,
misspellings: { below: 5 },
fields: [:name, :author, :pages],
order: { name: 'asc' },
page: params[:page],
per_page: 20)
我去控制台搜索了 Book.search(120, fields: [:pages]) ,即使有第 120 页的记录,它也会返回空结果。为什么 searchkick 不搜索整数字段?我感谢对我面临的这个困境的任何帮助。谢谢!
【问题讨论】:
-
您是否尝试使用字符串值进行搜索?
Book.search("120", fields: [:pages]) -
是的还是没有效果。
-
我的猜测是查询将始终是字符串,但我需要告诉 searchkick pages 属性是整数,应该像搜索那样对待。但不知道如何告诉 searchkick。
-
在控制台调用方法得到什么响应?
标签: ruby-on-rails ruby elasticsearch searchkick