2016-02-25 5 views
0

У меня есть 2 function_score запросов.Объединить 2 эластичных поисковых запроса

Первый, что я бегу на attractions типа

{ 
    "query": { 
    "function_score": { 
     "query": { 
     "nested": { 
      "path": "translations", 
      "query": { 
      "multi_match": { 
       "query": "Text to search", 
       "type": "best_fields", 
       "fields": [ 
       "title^3", 
       "description" 
       ] 
      } 
      } 
     } 
     }, 
     "functions": [ 
     { 
      "filter": { 
      "term": { 
       "cityId": 3 
      } 
      }, 
      "weight": 100 
     } 
     ], 
     "score_mode": "multiply" 
    } 
    } 
} 

и второй, что я бегу на pizzeria типа

{ 
    "query": { 
    "function_score": { 
     "query": { 
     "multi_match": { 
      "query": "Text to search", 
      "type": "best_fields", 
      "fields": [ 
      "name^3", 
      "description" 
      ] 
     } 
     }, 
     "functions": [ 
     { 
      "filter": { 
      "term": { 
       "cityId": 1 
      } 
      }, 
      "weight": 100 
     } 
     ], 
     "score_mode": "multiply" 
    } 
    } 
} 

Они оба хорошо работает. Я знаю, что хочу искать в обоих типах один запрос, но я не знаю, как «объединить» эти 2 запроса.

Я хочу сделать это, потому что хочу, чтобы элементы из 2-го типа были отсортированы по одному и тому же счету.

Возможно ли это? Как я могу это сделать ?

ответ

0

Вы можете использовать Мульти Search API для объединения запросов в один запрос:

Multi Search API

+0

Это не то, что я хочу. Я хочу, чтобы поиск по двум индексам и результаты сортировались по счету. – Hpatoio

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