ElasticSearch-Java Api 创建索引 并加索引结构
2018-04-02 16:23
537 查看
一、ES maven 依赖ES maven 依赖:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.6.0</version>
</dependency>二、Java API 操作
1. 创建TCP客户端Settings settings = Settings.builder().put("cluster.name", "es集群名称").build();
TransportClient client = new PreBuiltTransportClient(settings);
TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName("es服务ip"), 9300);
client.addTransportAddress(transportAddress);2. 创建索引结构 XContentBuilder builder=XContentFactory
.jsonBuilder()
.startObject()
.startObject("sina")
.startObject("properties")
.startObject("article_title")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.startObject("article_content")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.startObject("article_url")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.endObject()
.endObject()
.endObject();3. 创建索引client.admin().indices().prepareCreate("pages").execute().actionGet();
PutMappingRequest mapping = Requests.putMappingRequest("pages").type("sina").source(builder);
client.admin().indices().putMapping(mapping).actionGet();4. 添加索引数据IndexResponse response = client.prepareIndex("pages", "sina", null)
.setSource(jsonBuilder().startObject()
.field("article_title", "title".getBytes())
.field("article_content", "content".getBytes())
.field("article_url", "url".getBytes())
.endObject()
)
.execute()
.actionGet();
client.close();5. ElasticSearch 设置 mapping 报错 No handler for type [string] declared on field [productID]原因:5.X以上版本没有string类型了,换成了text和keyword作为字符串类型。6. elasticsearch 6.0之后对支持的 索引字段类型做了调整 ,新建Mapping映射时,要查看最新的文档。
参考:
http://www.cnblogs.com/dxf813/p/8447467.html
https://my.oschina.net/congqian/blog/383463
https://blog.csdn.net/heatdeath/article/details/79510150
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.6.0</version>
</dependency>二、Java API 操作
1. 创建TCP客户端Settings settings = Settings.builder().put("cluster.name", "es集群名称").build();
TransportClient client = new PreBuiltTransportClient(settings);
TransportAddress transportAddress = new InetSocketTransportAddress(InetAddress.getByName("es服务ip"), 9300);
client.addTransportAddress(transportAddress);2. 创建索引结构 XContentBuilder builder=XContentFactory
.jsonBuilder()
.startObject()
.startObject("sina")
.startObject("properties")
.startObject("article_title")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.startObject("article_content")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.startObject("article_url")
.field("type", "text")
.field("store", true)
.field("index",true)
.endObject()
.endObject()
.endObject()
.endObject();3. 创建索引client.admin().indices().prepareCreate("pages").execute().actionGet();
PutMappingRequest mapping = Requests.putMappingRequest("pages").type("sina").source(builder);
client.admin().indices().putMapping(mapping).actionGet();4. 添加索引数据IndexResponse response = client.prepareIndex("pages", "sina", null)
.setSource(jsonBuilder().startObject()
.field("article_title", "title".getBytes())
.field("article_content", "content".getBytes())
.field("article_url", "url".getBytes())
.endObject()
)
.execute()
.actionGet();
client.close();5. ElasticSearch 设置 mapping 报错 No handler for type [string] declared on field [productID]原因:5.X以上版本没有string类型了,换成了text和keyword作为字符串类型。6. elasticsearch 6.0之后对支持的 索引字段类型做了调整 ,新建Mapping映射时,要查看最新的文档。
参考:
http://www.cnblogs.com/dxf813/p/8447467.html
https://my.oschina.net/congqian/blog/383463
https://blog.csdn.net/heatdeath/article/details/79510150
相关文章推荐
- Elastic Search Java Api 创建索引结构,添加索引
- Elasticsearch Java API 的使用(2)—创建索引
- Elasticsearch创建索引和映射结构详解
- Elasticsearch创建索引和映射结构详解
- Elasticsearch Java API 的使用(11)—优化索引创建
- Elasticsearch创建索引和映射结构详解
- ElasticSearch Java Api -创建索引
- elasticsearch 5.6.4自动创建索引与mapping映射关系 +Java语言
- B树索引+B树索引逻辑结构图+B树索引是怎么搜索数据+创建B树索引
- 图解Elasticsearch之一——索引创建过程
- 分布式搜索elasticsearch java API 之(二)------put Mapping定义索引字段属性
- Elasticsearch系列篇之创建索引
- elasticsearch 创建索引
- Elasticsearch索引创建快照
- Java操作ElasticSearch之创建索引
- Elasticsearch 5.2.1 创建索引-自定义分词器
- Elasticsearch创建索引,删除索引,添加mapping
- ElasticSearch创建索引(index)和添加映射(mapping)
- elasticsearch5.5.2手动创建索引并配置ik中文分词器
- ElasticSearch初步学习,创建索引(入门一)