Как создать вложенное тело запроса с помощью bodybuilder.js (elasticsearch)

Буду благодарен, если подскажете как сделать такое тело запроса для elasticsearch:

    const testQuery = {
      query: {
        bool: {
          filter: {
            bool: {
              must: [
                {
                  terms: {
                    id: category_ids
                  },
                },
              ],
            },
          },
        },
      },
    }

Тело нужно построить с помощью библиотеки bodybuilder.js


Ответы (1 шт):

Автор решения: ravli

Библиотека все правильно делает, внутренний bool не нужен, так что всё просто:

bodybuilder()
        .filter('terms', 'id', category_ids)
        .build()

{
  "query": {
    "bool": {
      "filter": {
        "terms": {
          "id": category_ids
        }
      }
    }
  }
}
→ Ссылка