Ich versuche, den folgenden Index und das Mapping zu erstellen.MapperParsingException creating elasticsearch index
CreateIndexRequestBuilder createIndexRequestBuilder = client.admin().indices().prepareCreate("my_index");
XContentBuilder mappingBuilder = jsonBuilder()
.startObject()
.startObject("my_type")
.startObject("properties")
.startObject("nombre")
.field("analyzer", "keyword_lowercase")
.field("type", "string")
.endObject()
.startObject("codigo")
.field("type", "string")
.field("analyzer", "keyword_lowercase")
.endObject()
.endObject()
.endObject()
.endObject();
createIndexRequestBuilder.addMapping(document.type(), mappingBuilder);
XContentBuilder mappingSettingsBuilder = jsonBuilder()
.startObject()
.startObject("index")
.startObject("analisis")
.startObject("analyzer")
.startObject("keyword_lowercase")
.field("type","custom")
.field("tokenizer","keyword")
.array("filter", "lowercase")
.endObject()
.endObject()
.endObject()
.endObject()
.endObject();
createIndexRequestBuilder.setSettings(mappingSettingsBuilder);
createIndexRequestBuilder.execute().actionGet();
Aber ich erhalte die folgende Ausnahme:
org.elasticsearch.index.mapper.MapperParsingException: Analysator [keyword_lowercase] nicht für Feld gefunden [codigo]
Ich denke, ich muss den Index in irgendeiner Weise schließen/öffnen, um Erfolg zu haben, aber ich weiß nicht wann ... Ich habe mehrere Dinge ohne Erfolg getestet. Irgendeine Idee?
Vielen Dank im Voraus
Dies festgesetzt werden: '.startObject ("analisis")' in '.startObject ("Analyse")' – Val