Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 9077|Відповідь: 0

Elasticsearch:No handler for type [string] declared on field[XX]的解决办法

[Копіювати посилання]
Опубліковано 09.01.2019 10:29:11 | | | |
Причина помилки

{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "Немає обробника для типу [рядка], оголошеного на полі [upload_status]"
}
],
"type": "mapper_parsing_exception",
"reason": "Немає обробника для типу [рядка], оголошеного на полі [upload_status]"
},
"статус": 400
}


Я використовую Elasticsearch версії 6.2.2, і при створенні полів відповідно до шкільної документації використовую {"type":"string","index":"not_analyzed"}.

Аналіз причин

Після перевірки орфографії я вирішив перевірити нову версію функцій Elasticsearch, бо раніше я теж застряг у методі встановлення головного плагіна через проблему з версією.
І справді, Elasticsearch запровадив текст і ключове слово з 5.X, де ключове слово застосовується до несегментаційних полів і може точно співпадати лише під час пошуку, при цьому рядок зберігається.

прибув6.X повністю видаляє струнуЗакінчити.

Окрім цьогоЗначення «індекс» може бути лише булевою змінною

Обхідний шлях

{"type":"text","index":false}

Отже, модифікація json виглядає так:

Але є нові помилки, які такі:

{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Відмова оновлення картографії до [restraunt], оскільки остаточне відображення матиме більше одного типу: [запис, інформація]"
}
],
"type": "illegal_argument_exception",
"reason": "Відмова оновлення картографії до [restraunt], оскільки остаточне відображення матиме більше одного типу: [запис, інформація]"
},
"статус": 400
}
Це пов'язано з:Суттєва зміна в Elasticsearch 6.x, коли відображення дозволяє лише один тип。 Індекси, створені в 5.x з кількома типами відображення, продовжуватимуть працювати в Elasticsearch 6.x, як і раніше. Типи відображень будуть повністю видалені в Elasticsearch 7.0.0.

Після виходу Elasticsearch 7.x параметр у typeURL є необов'язковим. Наприклад, індексація документів більше не потребує типу документа

Ресурси:

https://github.com/sirensolutions/sentinl/issues/257
https://www.elastic.co/guide/en/ ... moval-of-types.html







Попередній:Шифрування MD5
Наступний:Як код C# змушує комп'ютер вимикатися, перезавантажуватися, виходити з гри, блокувати, вимикатися...
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com