그래서, 내가 기금 모금 행사라는 클래스가 있습니다타이어 여과가 작동하지 않습니까?
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
나는 그것으로 캐 내려고하고이 변수 내가 더 높은 ID를 가진 두 모금을하더라도 어떤 결과
[1] pry()> search
=> #<Tire::Search::Search:0x007fb3d9d13938
@filters=[{:range=>{:id=>{:gt=>1}}}],
@indices=["fundraisers"],
@options={},
@path="/fundraisers/_search",
@types=[]>
를 얻을 수 없다 "검색"보기 "1"보다
[2] pry()> Fundraiser.all.map(&:id)
=> [1, 2, 3]
내가 뭘 잘못하고 있니? 나는 생각할 수있는 모든면에서 이것을 다시 썼다. 또한 주목할 점은 비슷한 필터를 "created_at"라고하면 gt/lt 타임 스탬프이므로 결과가 없습니다.
업데이트 : 당신은 검색을 만든
=> #<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>
항목에 대한 색인은 어떻게 작성합니까? –
내가 알 수있는 것부터 직접적인 "매핑"자체는 없으며, 타이어가 모든 것을 색인화한다고 가정하고 있습니까? 필터 측면없이 검색 결과를 얻고 있으므로 파고 들지 않았습니다. –
ID가 2 인 항목이 명확하게 색인되어 있습니까? localhost : 9200/fundraisers/fundraiser/1은 id가 1 인 항목에 대한 elastic search 검색 결과를 표시해야합니다 (탄성 검색 유형이 기금 모금 인 경우). 당신은 또한지도를 확인하고 싶을지도 모르다 elasticsearch는 유추했다 –