Я пытаюсь создать сопоставление из java с помощью высокоуровневого клиента rest, но оно вызывает исключение при разборе сопоставления, но то же сопоставление работает с почтальоном ниже - сопоставление.
Я храню сопоставление json содержимого в файле и читаю в программе java, как предложено в публикации SO
Как написать json Отображение в java используя elasti c search RestHighLevelClient?
{
"mappings": {
"properties": {
"events": {
"type": "nested",
"properties": {
"recommendationData": {
"type": "nested",
"properties": {
"recommendations": {
"type": "nested",
"properties": {
"recommendationType": {
"type": "keyword"
}
}
}
}
}
}
}
}
}
}
and from java i am using below code to create index and mapping
private void checkAndCreateDocumentMapping() throws IOException {
CreateIndexRequest createIndexRequest = new CreateIndexRequest(this.getIndexName());
String indexString = "{\n" +
" \"mappings\": {\n" +
" \"recommendations\": {\n" +
" \"properties\": {\n" +
" \"events\": {\n" +
" \"type\": \"nested\",\n" +
" \"properties\": {\n" +
" \"recommendationData\": {\n" +
" \"type\": \"nested\",\n" +
" \"properties\": {\n" +
" \"recommendations\": {\n" +
" \"type\": \"nested\",\n" +
" \"properties\": {\n" +
" \"recommendationType\": {\n" +
" \"type\": \"keyword\"\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
"}";
createIndexRequest.source(indexString, XContentType.JSON);
client.indices().create(createIndexRequest, RequestOptions.DEFAULT);
}
получая ошибку ниже:
ElasticsearchStatusException[Elasticsearch exception [type=mapper_parsing_exception, reason=Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [recommendations : {recommendations={properties={events={type=nested, properties={recommendationData={type=nested, properties={recommendations={type=nested, properties={recommendationType={type=keyword}}}}}}}}}}]]]; nested: ElasticsearchException[Elasticsearch exception [type=mapper_parsing_exception, reason=Root mapping definition has unsupported parameters: [recommendations : {recommendations={properties={events={type=nested, properties={recommendationData={type=nested, properties={recommendations={type=nested, properties={recommendationType={type=keyword}}}}}}}}}}]]];