【发布时间】:2018-10-25 13:53:51
【问题描述】:
我有一个艺术家模型
def search_data
{
name: name,
description: description
}
end
我创作了两位艺术家
Artist.create(name: "Da Vinci", description: "Tortuga")
Artist.create(name: "Donatello", description: "Tortoise")
然后重新索引它们
Artist.reindex
执行一般搜索
Artist.search("*").results
返回
=> [#<Artist id: 295, name: "Donatello", description: "Tortuga", avatar: nil, cover: nil, created_at: "2018-10-25 13:43:21", updated_at: "2018-10-25 13:43:21">, #<Artist id: 296, name: "Da Vinci", description: "Tortuga", avatar: nil, cover: nil, created_at: "2018-10-25 13:43:52", updated_at: "2018-10-25 13:43:52">]
所以我总结了正确索引的艺术家 我搜索一下
Artist.search("D").results
但它只会返回
=> [#<Artist id: 296, name: "Da Vinci", description: "Tortuga", avatar: nil, cover: nil, created_at: "2018-10-25 13:43:52", updated_at: "2018-10-25 13:43:52">]
我可以在不搜索“*”的情况下到达多纳泰罗的唯一方法是字面意思
Artist.search("Donatello").results
返回
=> [#<Artist id: 295, name: "Donatello", description: "Tortuga", avatar: nil, cover: nil, created_at: "2018-10-25 13:43:21", updated_at: "2018-10-25 13:43:21">]
我错过了什么?提前致谢。
-- UDAPTE--
我想从字面上做这个查询
search("*", page: page, per_page: per_page, where: { _or: [ { name: /.*#{query}.*/ }, { description: /.*#{query}.*/ } ] })
【问题讨论】:
标签: searchkick