исключение null_pointer_exception при сопоставлении запроса перколятора с сохраненными сценариями - PullRequest
1 голос
/ 19 марта 2020

Я использую Elasticsearch версии 6.8. У меня есть несколько перколяционных запросов, содержащих хранимые сценарии, которые соответствуют регулярному выражению для некоторых полей. Сценарии похожи на приведенные ниже:

{
  "_id" : "05441b99218d27e831414b4584ef628e",
  "found" : true,
  "script" : {
    "lang" : "painless",
    "source" : """Pattern p = /the\s+web\S*/i;return  p.matcher(params._source.summary).find();"""
  }
}

Теперь, когда я пытаюсь фильтровать документ, возникает исключение пустого указателя. Запрос Percolator ниже:

GET mp_percolator_v9_2/doc/_search
{
  "sort": [
    {
      "folderId": "asc"
    }
  ],
  "_source": [
    "customerNumber",
    "deliverySetId",
    "folderId"
  ],
  "query": {
    "bool": {
      "must": {
        "percolate": {
          "field": "query",
          "document": {     
            "summary": " go to the state healthe websites ",
          }
        }
      }
    }
  }
}

Ниже приведена ошибка:

{ "shard" : 1, "index" : "mp_percolator_v9_2", "node" : "o7tCbLC4T9GT61LLS5dcXw", "reason" : { "type" : "script_exception", "reason" : "runtime error", "script_stack" : [ "return p.matcher(params._source.summary).find();", " ^---- HERE" ], "script" : "05441b99218d27e831414b4584ef628e", "lang" : "painless", "caused_by" : { "type" : "null_pointer_exception", "reason" : null } } }
...