使用Java代码在ElasticSearch中不会更新映射

时间:2015-04-25 18:57:35

标签: java elasticsearch

我尝试使用Java代码更新弹性搜索中的映射。 但令我沮丧的是,映射没有得到更新

以下是我的代码

String settingsAsJson =getJsonString("settingFile");
client.admin().indices().close(new        CloseIndexRequest(indexName)).actionGet().isAcknowledged();
boolean settingsAck =   client.admin().indices().prepareUpdateSettings().setSettings(settingsAsJson).setIndices(indexName).execute().actionGet().isAcknowledged();
System.out.println("Applied SETTINGS "+ settingsAck);
String mappingAsJson = getJsonString("mappingFile");
boolean mappingack = client.admin().indices().preparePutMapping().setIndices(indexName).setType(indexType).setSource(mappingAsJson).execute().actionGet().isAcknowledged();
System.out.println("Applied Mappings "+ mappingack);
client.admin().indices().open(new OpenIndexRequest(indexName));
client.admin().indices().prepareFlush(indexName);

以下是我的映射文件

{
"profiles": {
 "dynamic" : "true",
 "_all": {
 "type": "string",
 "analyzer": "standard"
 },
 "properties": {
 "employee_id": {
 "type": "integer",
  "analyzer":"standard"
  }
}
}
}

另请注意,只有动态属性会更改其余所有新更新的映射不会更新。 有没有其他方法可以使用java代码更新映射?

0 个答案:

没有答案