创建索引
// 创建ES client
client, err := elastic.NewClient()
if err != nil {
// Handle error
panic(err)
}
// 执行ES请求需要提供一个上下文对象
ctx := context.Background()
// 索引mapping定义,这里仿微博消息结构定义
const mapping = `
{
"mappings": {
"properties": {
"user": {
"type": "keyword"
},
"message": {
"type": "text"
},
"image": {
"type": "keyword"
},
"created": {
"type": "date"
},
"tags": {
"type": "keyword"
},
"location": {
"type": "geo_point"
},
"suggest_field": {
"type": "completion"
}
}
}
}`
// 创建索引
_, err = client.CreateIndex("weibo").BodyString(mapping).Do(ctx)
if err != nil {
// Handle error
panic(err)
}
删除索引
删除blog索引
client.DeleteIndex("blog").Do(ctx)
检测索引是否存在
// 检测下weibo索引是否存在
exists, err := client.IndexExists("weibo").Do(ctx)
if err != nil {
// Handle error
panic(err)
}