2014-10-06 3 views
0

В чем проблема с моим запросом? Я просто хочу, чтобы запрос возвращал документы с такими условиями: language_id = 28 и publisher_id в [225, 226, 227] и, наконец, вычисляет статистику. Я сделал это так:Поиск и фильтрация эластичных материалов

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "term": { 
      "language_id": 28 
     } 
     }, 
     "filter": { 
     "and": [ 
      { 
      "range": { 
       "re_max": { 
       "gt": 100 
       } 
      } 
      }, 
      "terms": { 
      "publihser_id": [ 
       225, 
       226, 
       227 
      ] 
      } 
     } 
     ] 
    } 
    } 
}, 
"aggs": { 
    "stat_agg": { 
    "stats": { 
     "field": "re_max" 
    } 
    } 
} 
} 

Это произвело ошибку:

{"error":"SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[CebklbvjR2ORQkaiUEm6eQ][rep][0]: SearchParseException[[rep][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [ {\r\n  \"query\": {\r\n  \"filtered\": {\r\n   \"query\": {\r\n   \"term\": {\r\n    \"language_id\": 28\r\n   }\r\n   },\r\n   \"filter\": {\r\n   \"and\": [\r\n    {\r\n    \"range\": {\r\n     \"re_max\": {\r\n     \"gt\": 100\r\n     }\r\n    }\r\n    },\r\n    \"terms\": {\r\n    \"publihser_id\": [\r\n     225,\r\n     226,\r\n     227\r\n    ]\r\n    }\r\n   }\r\n   ]\r\n  }\r\n  }\r\n },\r\n \"aggs\": {\r\n  \"stat_agg\": {\r\n  \"stats\": {\r\n   \"field\": \"re_max\"\r\n  }\r\n  }\r\n }\r\n }]]]; nested: QueryParsingException[[rep] Failed to parse]; nested: JsonParseException[Unexpected character (':' (code 58)): was expecting comma to separate ARRAY entries\n at [Source: [[email protected]; line: 18, column: 23]]; }{[CebklbvjR2ORQkaiUEm6eQ][rep][4]: SearchParseException[[rep][4]: from[-1],size[-1]: Parse Failure [Failed to parse source [ {\r\n  \"query\": {\r\n  \"filtered\": {\r\n   \"query\": {\r\n   \"term\": {\r\n    \"language_id\": 28\r\n   }\r\n   },\r\n   \"filter\": {\r\n   \"and\": [\r\n    {\r\n    \"range\": {\r\n     \"re_max\": {\r\n     \"gt\": 100\r\n     }\r\n    }\r\n    },\r\n    \"terms\": {\r\n    \"publihser_id\": [\r\n     225,\r\n     226,\r\n     227\r\n    ]\r\n    }\r\n   }\r\n   ]\r\n  }\r\n  }\r\n },\r\n \"aggs\": {\r\n  \"stat_agg\": {\r\n  \"stats\": {\r\n   \"field\": \"re_max\"\r\n  }\r\n  }\r\n }\r\n }]]]; nested: QueryParsingException[[rep] Failed to parse]; nested: JsonParseException[Unexpected character (':' (code 58)): was expecting comma to separate ARRAY entries\n at [Source: [[email protected]; line: 18, column: 23]]; }{[CebklbvjR2ORQkaiUEm6eQ][rep][3]: SearchParseException[[rep][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [ {\r\n  \"query\": {\r\n  \"filtered\": {\r\n   \"query\": {\r\n   \"term\": {\r\n    \"language_id\": 28\r\n   }\r\n   },\r\n   \"filter\": {\r\n   \"and\": [\r\n    {\r\n    \"range\": {\r\n     \"re_max\": {\r\n     \"gt\": 100\r\n     }\r\n    }\r\n    },\r\n    \"terms\": {\r\n    \"publihser_id\": [\r\n     225,\r\n     226,\r\n     227\r\n    ]\r\n    }\r\n   }\r\n   ]\r\n  }\r\n  }\r\n },\r\n \"aggs\": {\r\n  \"stat_agg\": {\r\n  \"stats\": {\r\n   \"field\": \"re_max\"\r\n  }\r\n  }\r\n }\r\n }]]]; nested: QueryParsingException[[rep] Failed to parse]; nested: JsonParseException[Unexpected character (':' (code 58)): was expecting comma to 
+0

И в чем проблема? Не работает? Дать ошибку? и т. д. –

+0

Ошибка при обновлении –

ответ

0

И это должно быть так (синтаксис мудрый) - вам не хватает "{":

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "term": { 
      "language_id": 28 
     } 
     }, 
     "filter": { 
     "and": [ 
      { 
      "range": { 
       "re_max": { 
       "gt": 100 
       } 
      } 
      }, 
      { 
      "terms": { 
       "publihser_id": [ 
       225, 
       226, 
       227 
       ] 
      } 
      } 
     ] 
     } 
    } 
    }, 
    "aggs": { 
    "stat_agg": { 
     "stats": { 
     "field": "re_max" 
     } 
    } 
    } 
} 
Смежные вопросы