こんにちは、スキーマ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
}
}
次のエラーが表示されます
{
"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
}
このエラーを解決するのを手伝ってください
あなたはほとんどここにいます、あなたはいくつかのことを見逃しています:
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": {
...
}
}
UPDATE
インデックスが既に存在する場合、次のようにマッピングを変更することもできます。
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"
}
}
}
UPDATE:
ES 7では、マッピングタイプが削除されました。詳細を読むことができます こちら
上記の回答がエラスティック検索<7.0で機能することを願っていますが、7.0ではドキュメントタイプを指定できず、サポートされなくなりました。その場合、docタイプを指定すると、同様のエラーが発生します。
Elastic search 7.0およびNest C#の最新バージョン(6.6)を使用しています。この問題の原因となっているES 7.0には、いくつかの重大な変更があります。これは、docタイプを指定できず、NESTのバージョン6.6ではdoctypeを使用しているためです。したがって、NEST 7.0がリリースされるまでそれを解決するには、ベータパッケージをダウンロードする必要があります。
このリンクを修正してください
https://xyzcoder.github.io/elasticsearch/nest/2019/04/12/es-70-and-nest-mapping-error.html
EDIT:NEST 7.0がリリースされました。 NEST 7.0はElastic 7.0で動作します。詳細については、 リリースノートはこちら を参照してください。