Elasticsearch: la definición de asignación de raíz tiene un índice de parámetros no admitidos: not_analyzed
mapping (3)
Comprueba tu versión elástica.
Tuve estos problemas porque estaba mirando la versión incorrecta de la documentación.
Hola a todos, estoy tratando de crear una prueba de esquema.
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
}
Estoy teniendo el siguiente error
{
"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
}
Por favor ayúdame a resolver este error.
Espero que la respuesta anterior funcione para la búsqueda elástica <7.0, pero en 7.0 no podemos especificar el tipo de documento y ya no se admite. Y en ese caso si especificamos el tipo de documento obtenemos un error similar.
Está haciendo uso de Elastic search 7.0 y la última versión de Nest C # (6.6). Hay algunos cambios importantes en ES 7.0 que están causando este problema. Esto se debe a que no podemos especificar el tipo de documento y en la versión 6.6 de NEST están utilizando doctype. Así que para resolverlo hasta que se lance NEST 7.0, necesitamos descargar su paquete beta.
Por favor, vaya a través de este enlace para arreglarlo
https://xyzcoder.github.io/elasticsearch/nest/2019/04/12/es-70-and-nest-mapping-error.html
Ya casi estás aquí, solo te estás perdiendo algunas cosas:
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": {
...
}
}
ACTUALIZAR
Si su índice ya existe, también puede modificar sus asignaciones de esta manera:
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"
}
}
}
ACTUALIZACIÓN :
A partir de ES 7, se han eliminado los tipos de mapeo. Puedes leer más detalles here