Отображение значения поля типа данных token_count - PullRequest
0 голосов
/ 03 октября 2018

У меня есть следующее отображение:

   "fullName" : {
            "type" : "text",
            "norms" : false,
            "similarity" : "boolean",
            "fields" : {
              "raw" : {
                "type" : "keyword"
              },
              "terms" : {
                "type" : "token_count",
                "analyzer" : "standard"
              }
            }
          }

Я хочу отобразить поле значения терминов.Когда я делаю следующее, я получаю полное имя, но не значение терминов

GET /_search
{"_source": ["fullName","fullName.terms"], 
    "query": {
        "bool" : {
            "must" : {
                "script" : {
                    "script" : {
                        "source": "doc['fullName.terms'].value != 3,
                        "lang": "painless"
                     }
                }
            }
        }
    }
}

Как его получить?

1 Ответ

0 голосов
/ 03 октября 2018

Вам нужно настроить, чтобы количество ваших токенов сохранялось - Здесь документация

Вы должны изменить свое отображение:

"terms" : {
    "type" : "token_count",
    "analyzer" : "standard",
    "store": true
}

Затем, чтобы получить нужное значениеявно запросить сохраненное значение в вашем запросе: ( здесь документация )

GET /_search
{
  "_source": [
    "fullName"
  ],
  "stored_fields": [
    "fullName.terms"
  ],
  "query": {
    "bool": {
      "must": {
        "script": {
          "script": {
            "source": "doc['fullName.terms'].value != 3",
            "lang": "painless"
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...