Cen*_*giz 5 java elasticsearch
是否可以使用模式使用Java API mapping向ElasticSearch 添加类型?IndexJSON
我知道ElasticSearch使用第一个文档来创建一个mapping,因此我可以使用json模式增强我的第一个文档.但我想在索引文档之前创建类型.
你可以这样做:
String mapping = XContentFactory.jsonBuilder().startObject().startObject(typeName).startObject("properties")
.startObject("location").field("type", "geo_point").endObject()
.startObject("language").field("type", "string").field("index", "not_analyzed").endObject()
.startObject("user").startObject("properties").startObject("screen_name").field("type", "string").field("index", "not_analyzed").endObject().endObject().endObject()
.startObject("mention").startObject("properties").startObject("screen_name").field("type", "string").field("index", "not_analyzed").endObject().endObject().endObject()
.startObject("in_reply").startObject("properties").startObject("user_screen_name").field("type", "string").field("index", "not_analyzed").endObject().endObject().endObject()
.startObject("retweet").startObject("properties").startObject("user_screen_name").field("type", "string").field("index", "not_analyzed").endObject().endObject().endObject()
.endObject().endObject().endObject().string();
client.admin().indices().preparePutMapping(indexName).setType(typeName).setSource(mapping).execute().actionGet();
Run Code Online (Sandbox Code Playgroud)
或者,如果您将映射作为字符串
String json = "{}";
PutMappingResponse response = client.admin().indices()
.preparePutMapping(index)
.setType(type)
.setSource(json)
.execute().actionGet();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7246 次 |
| 最近记录: |