Bonjour à tous, j'essaie de créer un schéma de test.
PUT /test
{
"mappings": {
"field1": {
"type": "integer"
},
"field2": {
"type": "integer"
},
"field3": {
"type": "string",
"index": "not_analyzed"
},
"field4": {
"type": "string",
"analyzer": "autocomplete",
"search_analyzer": "standard"
}
},
"settings": {
bla
bla
bla
}
}
Je reçois l'erreur suivante
{
"error": {
"root_cause": [{
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]"
}],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [featured]: Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]"
}
},
"status": 400
}
S'il vous plaît aidez-moi à résoudre cette erreur
Vous êtes presque là, il ne vous manque que quelques choses:
PUT /test
{
"mappings": {
"type_name": { <--- add the type name
"properties": { <--- enclose all field definitions in "properties"
"field1": {
"type": "integer"
},
"field2": {
"type": "integer"
},
"field3": {
"type": "string",
"index": "not_analyzed"
},
"field4,": {
"type": "string",
"analyzer": "autocomplete",
"search_analyzer": "standard"
}
}
}
},
"settings": {
...
}
}
[~ # ~] met à jour [~ # ~]
Si votre index existe déjà, vous pouvez également modifier vos mappages comme ceci:
PUT test/_mapping/type_name
{
"properties": { <--- enclose all field definitions in "properties"
"field1": {
"type": "integer"
},
"field2": {
"type": "integer"
},
"field3": {
"type": "string",
"index": "not_analyzed"
},
"field4,": {
"type": "string",
"analyzer": "autocomplete",
"search_analyzer": "standard"
}
}
}
[~ # ~] met à jour [~ # ~] :
À partir de l'ES 7, les types de mappage ont été supprimés. Vous pouvez lire plus de détails ici
J'espère que la réponse ci-dessus fonctionne pour la recherche élastique <7.0, mais nous ne pouvons pas spécifier de type de document dans 7.0 et ce dernier n'est plus pris en charge. Et dans ce cas, si nous spécifions le type de document, nous obtenons une erreur similaire.
Si vous utilisez Elastic Search 7.0 et la dernière version de Nest C # (6.6). Certaines modifications avec ES 7.0 ont été à l'origine de ce problème. En effet, nous ne pouvons pas spécifier de type de document et dans la version 6.6 de NEST, ils utilisent doctype. Donc, pour résoudre le problème de la publication de NEST 7.0, nous devons télécharger leur package bêta.
S'il vous plaît passez par ce lien pour le réparer
https://xyzcoder.github.io/elasticsearch/nest/2019/04/12/es-70-and-nest-mapping-error.html
EDIT: NEST 7.0 est maintenant publié. NEST 7.0 fonctionne avec Elastic 7.0. Voir le notes de version ici pour plus de détails.