Я использую эластичный поиск в java и хочу преобразовать код ниже java. У меня проблемы с агрегацией и синтаксисом терминов - PullRequest
0 голосов
/ 05 марта 2020

Мой запрос выглядит следующим образом

POST user-info/_search
 {
      "size": 0,
      "query": {
        "bool": {
          "must": [
            {
              "match_all": {}
            }
          ],
          "filter": {
            "range": {
              "LastModifiedDt": {
                "time_zone": "-06:00",
                "lt": "2020-02-20T10:00:00||/h"
              }
            }
          }
        }
      },
      "aggregations": {
        "activeFlag": {
          "meta": {
            "agg_type": "terms"
          },
          "terms": {
            "field": "activeFlg",
            "min_doc_count": 1,
            "shard_min_doc_count": 0,
            "show_term_doc_count_error": false,
            "order": {
              "_key": "asc"
            }
          }
        }
      }
    }

Я уже написал следующий код.

 BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder()
                    .must(new MatchAllQueryBuilder())
                    .filter(new RangeQueryBuilder("LastModifiedDt")
                            .timeZone("-06:00")
                            .lt(dateTimeOfHour + "||/h"));

Но мне трудно найти синтаксис для агрегатов и терминов. Я ценю вашу помощь.

...