Ошибка при запуске скрипта в упругом поиске, время ожидания шлюза - PullRequest
0 голосов
/ 24 сентября 2018

во время выполнения сценария в упругом поиске я получил ошибку тайм-аута шлюза 504.

 {
      "query": {
        "bool": {
          "filter": {
            "script": {
              "script": " doc['creted_date'].date.getMonthOfYear() == 12 "
            }
          }
        }
      },
      "aggs": {
        "test": {
          "date_histogram": {
            "field": "creted_date",
            "interval": "month",
            "format": "MMM"

          },
          "aggs": {
            "cost": {
              "sum": {
                "field": "cost"
              }
            }
          }
        }
      }
    }

Результат ошибки:

 {
      "statusCode": 504,
      "error": "Gateway Time-out",
      "message": "Client request timeout"
    }

всякий раз, когда я запускаю этот сценарий по индексу, имеющему небольшое числодокументы, это дает идеальный вывод.но в индексе, имеющем большое количество документов, это дает вышеуказанную ошибку.

Можем ли мы вручную установить время ожидания для запроса в упругом поиске?или есть другое решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Попробуйте это для Elasticsearch 6.x.

{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "script": {
            "source":  "doc['created_on'].date.getMonthOfYear() == params.month",
              "params": {
                "month": 5
              }
          }
        }
      }
    }
  }
}
0 голосов
/ 24 сентября 2018

Попробуйте это.

{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "lang": "expression",
          "script": "doc['creted_date'].getMonth() == month-1",
          "params": {
            "month": 12
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...