Java之ES创建索引

下面来继续分享并记录ES相关:

通过Java创建ES索引如下所示:

/**
* create by wxy_jdhk
*/
public class ElasticSearchUtils {
	public void createIndexOne(TransportClient client) {
		// 创建索引
		try {
			IndexResponse response = client.prepareIndex("twitter", "_doc", "1")
					.setSource(jsonBuilder()
							.startObject()
							.field("user", "kimchy")
							.field("postDate", new Date())
							.field("message", "trying out Elasticsearch")
							.endObject()).get();
			// 获取索引
			String _index = response.getIndex();
			// 获取类型
			String _type = response.getType();
			// 获取ID
			String _id = response.getId();
			// 获取版本号
			long _version = response.getVersion();
			// 执行语句的运行结果状态
			RestStatus status = response.status();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Elasticsearch是一个开源的搜索引擎,可以用于存储、搜索和分析大量数据。在Java创建Elasticsearch索引,可以通过以下步骤实现: 1. 安装Elasticsearch:首先需要安装Elasticsearch并启动它。可以从官方网站下载并按照说明进行安装。 2. 添加Elasticsearch依赖:在Java项目中添加Elasticsearch依赖,可以使用Maven或Gradle等构建工具。 3. 创建Elasticsearch客户端:使用Java API创建Elasticsearch客户端,连接到Elasticsearch服务器。 4. 创建索引:使用Java API创建索引,指定索引名称和映射。 5. 添加文档:使用Java API向索引中添加文档。 6. 搜索文档:使用Java API搜索索引中的文档。 以上是创建Elasticsearch索引的基本步骤,具体实现可以参考Elasticsearch官方文档和Java API文档。 ### 回答2: Elasticsearch是一个高度可伸缩的开源搜索和分析引擎,常用于构建实时数据集成和分析平台。在Elasticsearch中,索引是一个非常重要的概念。索引相当于数据中的表,用于存储和管理数据。因此,创建索引Elasticsearch中的一个核心操作。 在Java中,通过Elasticsearch提供的Java API可以轻松地操作Elasticsearch。下面是一个简单的Java程序,用于创建一个名为“my_index”的索引,并定义一些字段。 ```java import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.mapper.ObjectMapper; import org.elasticsearch.index.mapper.ObjectMapper.Builder; import org.elasticsearch.index.mapper.ObjectMapper.BuilderContext; import org.elasticsearch.index.mapper.core.KeywordFieldMapper; import org.elasticsearch.index.mapper.core.LongFieldMapper; import org.elasticsearch.index.mapper.core.StringFieldMapper; import org.elasticsearch.index.mapper.object.RootObjectMapper; import java.io.IOException; import java.util.Collections; public class CreateIndex { public static void main(String[] args) throws IOException { RestHighLevelClient client = new RestHighLevelClient(); // Create an index CreateIndexRequest request = new CreateIndexRequest("my_index"); request.settings(Settings.builder() .put("index.number_of_shards", 3) .put("index.number_of_replicas", 2)); // Define a mapping for the index BuilderContext builderContext = new BuilderContext(new ObjectMapper()); Builder objectBuilder = new RootObjectMapper(builderContext); objectBuilder.add(new StringFieldMapper.Builder("title").build(null)); objectBuilder.add(new KeywordFieldMapper.Builder("author").build(null)); objectBuilder.add(new LongFieldMapper.Builder("pages").build(null)); ObjectMapper objectMapper = objectBuilder.build(builderContext); request.mapping(Collections.singletonMap("properties", objectMapper.toXContent(XContentType.JSON))); // Create the index and print the response CreateIndexResponse createIndexResponse = client.indices().create(request, RequestOptions.DEFAULT); System.out.println(createIndexResponse); // Close the client client.close(); } } ``` 在这个程序中,首先创建了一个`CreateIndexRequest`对象,并将其命名为“my_index”。然后,通过调用`Settings`对象的建造者,设置该索引的设置。在这里,将索引分配给3个分片和2个副本。接下来,定义了索引的映射,其中包含3个字段:标题,作者和页数。这些字段分别定义为字符串,关键字和长整数类型。最后,通过调用`RestHighLevelClient`对象的`indices().create()`方法创建索引,并打印响应结果。最后关闭客户机。 上述程序旨在为您提供有关如何使用Java API创建索引的基本信息。使用Elasticsearch创建索引的最佳做法将取决于您的具体需求和应用程序的需求。 ### 回答3: Elasticsearch是一种开源的搜索引擎,是建立在Lucene之上的,是一个基于RESTful的分布式搜索引擎,提供全文搜索、结构化搜索、分析等功能。JavaElasticsearch的主要开发语言。在Java创建Elasticsearch索引需要进行以下步骤: 1. 引入Elasticsearch客户端 首先需要引入ElasticsearchJava客户端,在pom.xml文件中添加以下依赖: <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.6.0</version> </dependency> 2. 创建Elasticsearch客户端 使用TransportClient客户端连接服务器,在Elasticsearch 7.0版本中该客户端已被废弃,建议使用RestHighLevelClient客户端。以下是创建RestHighLevelClient客户端的示例代码: RestHighLevelClient client = new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http"))); 3. 创建索引Elasticsearch中,数据存储在索引中,索引相当于关系数据中的数据。以下是创建索引的示例代码: CreateIndexRequest request = new CreateIndexRequest("index_name"); client.indices().create(request, RequestOptions.DEFAULT); 其中,index_name是要创建索引名称。如果索引已经存在,将抛出索引已存在的异常。可以使用IndexExistsRequest查看是否已经存在该索引。 4. 添加映射 Elasticsearch中的文档拥有多个字段,每个字段可以定义不同的类型,如字符串、日期、数字等。映射就是定义字段类型的过程。以下是添加映射的示例代码: XContentBuilder mappingBuilder = XContentFactory.jsonBuilder() .startObject() .startObject("properties") .startObject("field1") .field("type", "text") .endObject() .startObject("field2") .field("type", "long") .endObject() .endObject() .endObject(); PutMappingRequest request = new PutMappingRequest("index_name") .source(mappingBuilder); client.indices().putMapping(request, RequestOptions.DEFAULT); 其中,field1和field2是要创建的字段名称,type指定字段类型。可以添加更多的字段,并设置不同的类型。 5. 关闭客户端 完成创建索引后,需要关闭客户端,释放资源。以下是关闭客户端的示例代码: client.close(); 总体来说,创建Elasticsearch索引需要引入客户端创建客户端、创建索引、添加映射、关闭客户端五个步骤。其中,添加映射是可选的,如果不添加映射,则Elasticsearch将根据输入的数据自动推导字段类型。学习和掌握这些步骤,可以方便地使用Java创建Elasticsearch索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值