Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 9077|Отговор: 0

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

[Копирай линк]
Публикувано в 9.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, защото и преди бях стъпвал в проблема с инсталацията на head плъгина, заради проблема с версията.
И наистина, 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