2016-05-11 2 views
3

Я пытаюсь найти результаты, основанные на состоянии ИЛИ с geo_point, и отсортировать по расстоянию. Я разместил здесь код, который я попробовал для условия ИЛИ. Это показывает мне ошибку Нет зарегистрировано [должны]ИЛИ условие для поиска эластичности

{ 
"query": { 
"filtered": { 
    "filter": { 
    "geo_distance": { 
     "distance": "5000km", 
     "location": { 
     "lat": 28.613939, 
     "lon": 77.209021 
     } 
    }, 
    "bool": { 
     "should": [ 
     { 
      "term": { 
      "maincat_id": "55b2326501fcff8a338b4569" 
      } 
     } 
     ] 
    } 
    } 
}}} 

но его показывает запрос мне ошибки [geo_distance] запрос не поддерживает [Ьоо] пожалуйста, помогите мне решить это

ответ

1

Как об этом ?

{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "geo_distance": { 
       "distance": "5000km", 
       "location": { 
        "lat": 28.613939, 
        "lon": 77.209021 
       } 
       } 
      } 
      ], 
      "should": [ 
      { 
       "term": { 
       "maincat_id": "55b2326501fcff8a338b4569" 
       } 
      }, 
      { 
       "term": { 
       "maincat_id": "55b2326501fcff8a338b4578" 
       } 
      }, 
      { 
       "term": { 
       "maincat_id": "567a47e801fcff55228b4567" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 
+0

Привет, в основном сделано, но когда я добавить второй термин "термин": { "maincat_id": "55b2326501fcff8a338b4578" }, "Термин": { "maincat_id": "567a47e801fcff55228b4567" } его переписать первый ..... пожалуйста, помогите спасибо –

+0

Я обновил свой ответ – Val

+0

благодарит человека за его работу –

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