Я получаю сообщение об ошибке ниже, когда пытаюсь создать сопоставление с помощью запроса на создание индекса.
Исключение Elasticsearch [type = mapper_parsing_exception, причина = Не удалось проанализировать сопоставление [_doc]: определение корневого сопоставления имеет неподдерживаемые параметры: [рекомендации: {рекомендации = {свойства = {события = {тип = вложенные, свойства = {рекомендацииДанные = {тип = вложенные] , properties = {рекомендации = {type = nested, properties = {ratingType = {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);
}
1 ответ
Обратите внимание, что elasticsearch больше не поддерживает множественные сопоставления, поэтому больше не требуется передавать имя сопоставления. Предполагая, что recommendations
- это имя сопоставления, его можно вместо этого использовать как имя индекса. Поэтому правильный dsl для создания индекса должен быть,
PUT recommendations
{
"mappings": {
"properties": {
"events": {
"type": "nested",
"properties": {
"recommendationData": {
"type": "nested",
"properties": {
"recommendations": {
"type": "nested",
"properties": {
"recommendationType": {
"type": "keyword"
}
}
}
}
}
}
}
}
}
}
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].