2013-11-27 2 views
1

Я хотел бы сделать запрос на несколько Elasticsearch через Тир, но с сырым JSON я могу один запрос, как этотTire мульти поиска с RAW Json

@search = Tire.search('questions', query: { 
    function_score: { 
     query: { 
     bool: { 
      must: [ 
       { 
        terms: { 
         interests: [2943,5106,3540,1443,3639] 
        } 
       } 
      ] 
     } 
     }, 
     random_score: {} 
    } 
    }) 

Но кратному я не могу. Я хотел Somthing как это, но это не исправить сейчас ...

@search = Tire.multi_search 'questions' do 


    search :level2 do 
     query: { 
      function_score: { 
       query: { 
       bool: { 
        must: [{ 
         terms: { 
         interests: [5090,2938,3062] 
         }}] 
       } 
       }, 
       random_score: {} 
      } 
     } 
    end 

end 

ли вам теперь, как я мог бы сделать, чтобы заставить его работать? Спасибо

ответ

1

Я нашел решение. На самом деле, в моем случае Требуется метод поиска: ключ полезной нагрузки в параметрах параметров

@search = Tire.multi_search 'questions' do 

      search(:level1, :payload => { 
           query: { 
           function_score: { 
            query: { 
            bool: { 
             must: [ 
              { 
               terms: { 
                interests: [2943,5106,3540,1443,3639] 
               } 
              },{ 
               term: { 
                difficulty: 1 
               } 
              } 
             ] 
            } 
            }, 
            random_score: {} 
           } 
          }}) 

      search(:level2, :payload => { 
           query: { 
           function_score: { 
            query: { 
            bool: { 
             must: [ 
              { 
               terms: { 
                interests: [5160,2938,3062] 
               } 
              },{ 
               term: { 
                difficulty: 2 
               } 
              } 
             ] 
            } 
            }, 
            random_score: {} 
           } 
          }}) 

     end 
Смежные вопросы