zencd
@zencd

Как узнать какой элемент массива заматчился в Elastic Search?

Среди документов успешно делаю поиск внутри массива "names".

Вопрос: как внутри score-функции понять какой из элементов заматчился? Индекс или string value.

Документ:

{
  "names": [
    { "name_norm": "redone" },
    { "name_norm": "purpleone" }
  ]
}

Поиск:

POST /named_index/named/_search?pretty=true&explain=true
{
  "query": {
    "function_score": {
      "query": {
        "regexp": {
          "names.name_norm": {"value": "purpleone"}
        }
      },
      "script_score": {
        "script": {
          "source": "100.0"
        }}}}}

Полностью: https://gist.github.com/zencd/f17943c2af89b9b6de02...
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
zencd
@zencd Автор вопроса
Заматченная строка:
{"source": "doc['names.name_norm'].value"}
Её длина:
{"source": "doc['names.name_norm'].value.length()"}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы