Как мы можем применить исключение с помощью регулярного выражения или атрибута фильтра в запросе Elasticsearch?

#elasticsearch

Вопрос:

Я хочу получить все запросы, кроме тех, которые имеют черный цвет. Поскольку в этом фильтре у меня много цветов, и он также может быть добавлен в будущем, нет смысла включать все цвета, кроме черного, чтобы получить желаемый результат. Я просмотрел документацию elastic, но не увидел, что могло бы решить мою проблему. Есть ли какой — либо способ, который я могу легко определить, кроме выражения, в котором вместо всех цветов используется только черный цвет regexp ?

Любые идеи будут оценены по достоинству, спасибо!

           "must": [
            {
              "regexp": {
                "fields.name": "x"
              }
            },
            {
              "regexp": {
                "fields.color": "red|white|purple|blue|orange|brown|pink|lime|green"
              }
            }
          ]
 

P. S: Я также проверил атрибут фильтра, но не увидел аналогичной концепции, которую я ищу.

Комментарии:

1. Я не уверен, почему вы пошли на регулярное выражение здесь, не так ли elastic.co/guide/en/elasticsearch/reference/current/… и с must_not работой тоже?