[英]Getting below error in elastic search rest high level client
当我尝试使用创建索引请求创建映射时,出现以下错误。
Elasticsearch 异常 [type=mapper_parsing_exception,reason=Failed to parse mapping [_doc]:根映射定义有不受支持的参数:[建议:{recommendations={properties={events={type=nested, properties={recommendationData={type=nested , 属性={recommendations={type=nested, properties={recommendationType={type=keyword}}}}}}}}}}]]
并且映射是
{
"mappings": {
"recommendations": {
"properties": {
"events": {
"type": "nested",
"properties": {
"recommendationData": {
"type": "nested",
"properties": {
"recommendations": {
"type": "nested",
"properties": {
"recommendationType": {
"type": "keyword"
}
}
}
}
}
}
}
}
}
}
}
和 java 代码是
private void checkAndCreateDocumentMapping() throws IOException {
CreateIndexRequest createIndexRequest = new CreateIndexRequest(this.getIndexName());
String indexString = getStringFromFile("nested" + ".mapping");
createIndexRequest.source(indexString, XContentType.JSON);
client.indices().create(createIndexRequest, RequestOptions.DEFAULT);
}
请注意 elasticsearch 不再支持多个映射,因此不再需要传递映射名称。 假设recommendations
是映射的名称,它可以被用作索引的名称。 因此,创建索引的正确 dsl 应该是,
PUT recommendations
{
"mappings": {
"properties": {
"events": {
"type": "nested",
"properties": {
"recommendationData": {
"type": "nested",
"properties": {
"recommendations": {
"type": "nested",
"properties": {
"recommendationType": {
"type": "keyword"
}
}
}
}
}
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.