Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 9077|Svar: 0

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

[Kopiera länk]
Publicerad på 2019-01-09 10:29:11 | | | |
Felorsak

{
"error": {
"root_cause": [
{
"typ": "mapper_parsing_exception",
"reason": "Ingen handler för typ [sträng] deklarerad på fältet [upload_status]"
}
],
"typ": "mapper_parsing_exception",
"reason": "Ingen handler för typ [sträng] deklarerad på fältet [upload_status]"
},
"status": 400
}


Jag använder Elasticsearch version 6.2.2 och när jag skapar fält enligt skolans dokumentation använder jag {"type":"string","index":"not_analyzed"}.

Orsaksanalys

Efter att ha kontrollerat stavningen bestämde jag mig för att kolla den nya versionen av Elasticsearch-funktionerna, eftersom jag också tidigare hade trampat på installationsmetoden för huvudpluginet på grund av versionsproblemet.
Mycket riktigt introducerade Elasticsearch text och nyckelord från 5.X, där nyckelord används på icke-segmenteringsfält och bara kan matcha exakt vid sökning, då strängen fortfarande behålls.

anlände6.X tar bort strängen heltAvsluta.

AnnarsVärdet av "index" kan bara vara en boolesk variabel

Lösningslösning

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

Så, json-modifieringen är följande:

Men det finns nya fel som är följande:

{
"error": {
"root_cause": [
{
"typ": "illegal_argument_exception",
"reason": "Att avvisa mappningsuppdatering till [restaurang] eftersom den slutliga mappningen skulle ha mer än 1 typ: [post, info]"
}
],
"typ": "illegal_argument_exception",
"reason": "Att avvisa mappningsuppdatering till [restaurang] eftersom den slutliga mappningen skulle ha mer än 1 typ: [post, info]"
},
"status": 400
}
Detta beror på:En stor förändring i Elasticsearch 6.x där Mapping endast tillåter en typ。 Index skapade i 5.x med flera mappningstyper kommer att fortsätta köras i Elasticsearch 6.x som tidigare. Mappningstyper kommer att tas bort helt i Elasticsearch 7.0.0.

Efter Elasticsearch 7.x-släppet är parametern i typeURL valfri. Till exempel kräver indexering av dokument inte längre en dokumenttyp

Resurser:

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







Föregående:MD5-kryptering
Nästa:Hur får C#-kod din dator att stänga av, starta om, logga ut, låsa, stänga av...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com