ElasticSearch使用Java客户端创建索引index和映射mapping

1.创建工程,导入pom.xml坐标

<dependencies>
    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>5.6.8</version>
    </dependency>
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <version>5.6.8</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j‐to‐slf4j</artifactId>
        <version>2.9.1</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j‐api</artifactId>
        <version>1.7.24</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java客户端创建索引index映射mapping,下面是示例代码: ```java import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest; import org.elasticsearch.action.admin.indices.mapping.put.PutMappingResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.mapper.ObjectMapper; import org.elasticsearch.index.mapper.ObjectMapper.Builder; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class CreateIndexAndMapping { private RestHighLevelClient client; public CreateIndexAndMapping(RestHighLevelClient client) { this.client = client; } public void createIndex(String indexName) throws IOException { CreateIndexRequest request = new CreateIndexRequest(indexName); CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT); boolean acknowledged = response.isAcknowledged(); if (acknowledged) { System.out.println("Index created successfully."); } } public void createMapping(String indexName, String typeName) throws IOException { PutMappingRequest request = new PutMappingRequest(indexName); request.type(typeName); XContentBuilder builder = XContentFactory.jsonBuilder(); builder.startObject(); { builder.startObject("properties"); { builder.startObject("title"); { builder.field("type", "text"); } builder.endObject(); builder.startObject("author"); { builder.field("type", "text"); } builder.endObject(); builder.startObject("publish_date"); { builder.field("type", "date"); } builder.endObject(); builder.startObject("price"); { builder.field("type", "double"); } builder.endObject(); builder.startObject("description"); { builder.field("type", "text"); } builder.endObject(); } builder.endObject(); } builder.endObject(); request.source(builder); PutMappingResponse response = client.indices().putMapping(request, RequestOptions.DEFAULT); boolean acknowledged = response.isAcknowledged(); if (acknowledged) { System.out.println("Mapping created successfully."); } } } ``` 上述代码中,`createIndex`方法用于创建索引,`createMapping`方法用于创建映射。在`createMapping`方法中,我们使用`XContentBuilder`来构建映射的JSON格式,然后将其作为请求的source进行设置。在这个例子中,我们定义了一个包含`title`、`author`、`publish_date`、`price`和`description`等字段的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值