Java Elasticsearch - Boolquery с существующим условием - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть следующий код, который мне нужен, чтобы получить не нулевые результаты в некоторых полях, а проверить значения в других.(Я использую RestHighLevelClient)

Но я получил эту ошибку:

Причина: ElasticsearchStatusException [Исключение Elasticsearch [type = search_phase_execution_exception, причина = сбой всех шардов]]

....

Подавлено: org.elasticsearch.client.ResponseException: метод [POST], хост [http://192.168.8.101:9200], URI [/ _search? Typed_keys = true & ignore_unavailable = false & expand_wildcards = open & allow_no_indices= true & scroll = 1m & sear .....

{"error": {"root_cause": [{"type": "query_parsing_exception", "reason": "[существует] запрос не поддерживает [повышение]

Код:

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
BoolQueryBuilder boolQuery = new BoolQueryBuilder();
boolQuery.must(QueryBuilders.existsQuery("usuarioIntegracao"));
boolQuery.must(QueryBuilders.termsQuery("tabela", "Arquivo", "Mensagem"));
boolQuery.must(QueryBuilders.termQuery("statusTexto", "Erro"));
boolQuery.must(QueryBuilders.rangeQuery("dataEntrada")
                            .from("now-1d/d")
                            .timeZone("-03:00"));

searchSourceBuilder.query(boolQuery);
searchSourceBuilder.size(9999);
searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));

searchRequest.source(searchSourceBuilder);

SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);

И мне удалось найти то же самое на Почтальоне:

{
    "size" : 1000,

    "sort" : [
        {"dataEntrada" : {"order" : "desc"}}
    ],

    "query" : {
        "bool":{
          "must":[
            {"terms":{ "tabela" : ["Arquivo", "Mensagem"] }},

            {"term":{ "statusTexto" : "Erro" }},

            {"exists" : { "field" : "usuarioIntegracao" }},

            {"range" : {
                "dataEntrada" : {
                    "gte" : "now-1d/d",
                    "lt" :  "now/d",
                    "timeZone" : "-03:00"
                }
            }}
          ],
          "should":{},
          "must_not":{

          }
       }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...