Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 9077|Antwoord: 0

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

[Link kopiëren]
Geplaatst op 09-01-2019 10:29:11 | | | |
Foutreden, reden

{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "Geen handler voor type [string] declareerd op veld [upload_status]"
}
],
"type": "mapper_parsing_exception",
"reason": "Geen handler voor type [string] declareerd op veld [upload_status]"
},
"status": 400
}


Ik gebruik Elasticsearch versie 6.2.2 en bij het aanmaken van velden volgens de schooldocumentatie gebruik ik {"type":"string","index":"not_analyzed"}.

Oorzaakanalyse

Na het controleren van de spelling besloot ik de nieuwe versie van Elasticsearch-functies te bekijken, omdat ik ook eerder op het probleem van de installatiemethode van de head-plugin was gestopt, vanwege het versieprobleem.
Inderdaad, Elasticsearch introduceerde tekst en trefwoord uit 5.X, waarbij trefwoorden worden toegepast op niet-segmentatievelden en alleen exact kunnen overeenkomen bij het zoeken, waarna de string nog steeds behouden blijft.

Aangekomen.6.X verwijdert de string volledigFins.

VerderDe waarde van "index" kan alleen een booleaanse variabele zijn

Workaround

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

Dus, de json-aanpassing is als volgt:

Maar er zijn nieuwe fouten die als volgt zijn:

{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Het afwijzen van mapping update aan [restaurant] omdat de uiteindelijke mapping meer dan 1 type zou hebben: [record, info]"
}
],
"type": "illegal_argument_exception",
"reason": "Het afwijzen van mapping update aan [restaurant] omdat de uiteindelijke mapping meer dan 1 type zou hebben: [record, info]"
},
"status": 400
}
Dit komt door:Een grote wijziging in Elasticsearch 6.x waarbij Mapping slechts één type toestaat。 Indexen die in 5.x zijn gemaakt met meerdere mappingtypes blijven draaien in Elasticsearch 6.x zoals voorheen. Mappingtypes worden volledig verwijderd in Elasticsearch 7.0.0.

Na de release van Elasticsearch 7.x is de parameter in typeURL optioneel. Zo vereist het indexeren van documenten niet langer een documenttype

Weg:

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







Vorig:MD5-encryptie
Volgend:Hoe zorgt C#-code ervoor dat je computer uitschakelt, opnieuw opstart, uitlogt, vergrendelt, uitschakelt...
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com