2016-08-23 2 views
1

Я только что начал с Chewy gem, выглядит как отличная идея, но я не могу заставить ее работать исправно даже с супер базовым запросом.Как вы получаете жемчужину для фильтрации результатов?

Я проиндексировал модель моего ведущего как LeadsIndex. Здесь у меня есть запрос, который работает:

irb(main):068:0> LeadsIndex.filter.first 
    LeadsIndex Search (8.9ms) {:body=>{}, :index=>["leads"], :type=>[]} 
=> #<LeadsIndex::Lead:0x007ff76324cbf8 @attributes={"id"=>"14", "name"=>"Victoria Roob", "_score"=>1.0, "_explanation"=>nil}, 
             @_data={"_index"=>"leads", "_type"=>"lead", "_id"=>"14", "_score"=>1.0, "_source"=>{"name"=>"Victoria Roob"}}> 

Но когда я пытаюсь искать по этой записи, он не показывает результаты:

irb(main):071:0> LeadsIndex.filter { name == "Victoria Roob" }.first 
    LeadsIndex Search (7.4ms) {:body=>{:query=>{:filtered=>{:query=>{:match_all=>{}}, :filter=>{:term=>{"name"=>"Victoria Roob"}}}}}, :index=>["leads"], :type=>[]} 
=> nil 

я делаю что-то не так?

ответ

0

Вы можете либо матч фраза:

LeadsIndex.query(match_phrase: {name: "Victoria Root"}).first 

либо цепь запросов вместе:

LeadsIndex.filter { name == "Victoria" }.filter { name == "Roob" }.first 
Смежные вопросы