2016-07-25 2 views
0

проводок это упругое поиска бросает исключение org.elasticsearch.index.query.QueryParsingException: [MyApp] Нет фильтра зарегистрирован [матча]Упругие поисковый запрос с фильтром - Эластичный поиск 1,7

http://localhost:9200/ 
     GET myapp/_search/ 
    { 
     "query": { 
     "filtered": { 
      "filter": { 
      "bool": { 
       "must": [ 
       { 
        "match": { 
        "userName": "Micky" 
        } 
       }, 
       { 
        "match": { 
        "Age": 21 
        } 
       } 
       ], 
       "should": [], 
       "must_not": [] 
      } 
      } 
     } 
     }, 
     "from": 0, 
     "size": 20 
    } 

почему этот запрос неправильно (технические детали)?

+0

Возможный дубликат [ElasticSearch: Без фильтра зарегистрирован \ [соответствует \] \]] (http://stackoverflow.com/questions/21116803/elasticsearch-no-filter-registered-for-match) – Mico

ответ

0

Там нет фильтра по имени match, вы можете использовать либо term вместо

POST myapp/_search/ 
{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "term": { 
       "userName": "Micky" 
       } 
      }, 
      { 
       "term": { 
       "Age": 21 
       } 
      } 
      ], 
      "should": [], 
      "must_not": [] 
     } 
     } 
    } 
    }, 
    "from": 0, 
    "size": 20 
} 

или использовать constant_score запрос вместо filtered, так как у вас нет фильтров.

POST myapp/_search/ 
{ 
    "query": { 
    "constant_score": { 
     "query": { 
     "bool": { 
      "must": [ 
      { 
       "match": { 
       "userName": "Micky" 
       } 
      }, 
      { 
       "match": { 
       "Age": 21 
       } 
      } 
      ], 
      "should": [], 
      "must_not": [] 
     } 
     } 
    } 
    }, 
    "from": 0, 
    "size": 20 
} 
+0

exception "error": "org.elasticsearch.index.query.QueryParsingException: [myapp] запрос не поддерживает [from]" –

+0

Плохая копия/вставка? Прекрасно работает для меня. – Val

+0

Плохая паста! , Спасибо, второй работает отлично для меня, сначала никто не возвращает никаких данных. –

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