Elasticsearch创建索引
Posted 永旗狍子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch创建索引相关的知识,希望对你有一定的参考价值。
在yml文件中添加:
es: host: 1111.com port: 9200 index: emp-index type: emp-type
@Autowired
private RestHighLevelClient client;
@Value("$es.index")
private String indexName;
@Value("$es.type")
private String typeName;
@Test
void createIndex() throws IOException
// 1.创建一个请求对象
CreateIndexRequest request = new CreateIndexRequest(indexName);
// 2.sttings -->分片,备份
Settings.Builder builder = Settings.builder();
builder.put("number_of_shards", 3);
builder.put("number_of_replicas", 1);
request.settings(builder);
// 3.mappings -》字段属性,类型
XContentBuilder xContentBuilder = JsonXContent.contentBuilder();
xContentBuilder.
startObject()
.startObject("properties")
.startObject("ename")
.field("type", "text") // text keyword
.endObject()
.startObject("empno")
.field("type", "integer") // text keyword
.endObject()
.startObject("mgr")
.field("type", "integer") // text keyword
.endObject()
.startObject("deptno")
.field("type", "integer") // text keyword
.endObject()
.startObject("job")
.field("type", "text") // text keyword
.endObject()
.startObject("sal")
.field("type", "double") // text keyword
.endObject()
.startObject("comm")
.field("type", "double") // text keyword
.endObject()
.startObject("hiredate")
.field("type", "date") // text keyword
.field("format", "yyyy-MM-dd")
.endObject()
.endObject()
.endObject();
request.mapping(typeName,xContentBuilder);
// 4.indx,type
CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT);
System.out.println(response.toString());
以上是关于Elasticsearch创建索引的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch- elasticsearch索引的创建查询和删除
Elasticsearch入门—— Elasticsearch7.8.0版本索引操作
Elasticsearch入门—— Elasticsearch7.8.0版本索引操作