Нужна оригинальная длина текста при использовании анализатора ngrm - PullRequest
0 голосов
/ 30 апреля 2019

Когда к полю имени применяется биграммный анализатор, и я проверяю doc[Name].value.length(), он возвращает 2, но мне нужна исходная длина имени. Пример Infotech = 8 нужно вернуть 8

"mappings": {
        "Data": {
            "properties": {
                "Name": {
                    "type":     "text",
                    "analyzer": "bigrams" ,
                    "similarity": "scripted_tfidf",
                     "fielddata": true,
                     "fields": {
                           "length": { 
                              "type":     "token_count",
                               "analyzer": "standard"
                                 }
                     }
                },

1 Ответ

0 голосов
/ 30 апреля 2019

Вы должны добавить поле типа ключевого слова в отображение, потому что оно не будет анализироваться следующим образом:

            "fields": {

                   "keyword": { 

                          "type":"keyword"

                    }
            }

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

             doc['Name.keyword'].value.length()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...