所以,我有一个名为 Fundraiser 的课程:
class Fundraiser
def search!
search = Tire::Search::Search.new('fundraisers')
search.query { all }
search.filter :range, {id: {gt: 1}}
search.results
binding.pry
end
end
当我窥探它并查看“搜索”变量时,我没有得到任何结果
[1] pry()> search
=> #<Tire::Search::Search:0x007fb3d9d13938
@filters=[{:range=>{:id=>{:gt=>1}}}],
@indices=["fundraisers"],
@options={},
@path="/fundraisers/_search",
@types=[]>
即使我有两个 ID 高于“1”的筹款人
[2] pry()> Fundraiser.all.map(&:id)
=> [1, 2, 3]
我究竟做错了什么?我已经用我能想到的所有方式重写了这个。另外值得注意的是,如果我对说“created_at”作为 gt/lt 时间戳进行类似的过滤,我不会得到任何结果。
更新:
我已经添加了搜索调用的query
andresults
部分,但我仍然没有得到结果......
=> #<Tire::Results::Collection:0x007f92f3302b58
@facets=nil,
@max_score=0.0,
@options={},
@response=
{"took"=>0,
"timed_out"=>false,
"_shards"=>{"total"=>5, "successful"=>5, "failed"=>0},
"hits"=>{"total"=>0, "max_score"=>nil, "hits"=>[]}},
@time=0,
@total=0,
@wrapper=Tire::Results::Item>