208 lines
4.9 KiB
Go
208 lines
4.9 KiB
Go
package main
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
//func main() {
|
|
|
|
//client, err := newESClient([]string{esAddress}, esUsername, esPassword)
|
|
//if err != nil {
|
|
// fmt.Println(err.Error())
|
|
//}
|
|
//fmt.Println(client)
|
|
//
|
|
//// 获取所有索引
|
|
//indices, err := client.listAllIndices()
|
|
//if err != nil {
|
|
// fmt.Println(err.Error())
|
|
//}
|
|
//for _, i := range indices {
|
|
// fmt.Println("索引:", i)
|
|
//}
|
|
//fmt.Println("所有索引:", indices)
|
|
|
|
// // 获取所有索引的详细信息
|
|
// //infos, err := client.GetIndicesInfo()
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //infosJson, _ := json.Marshal(infos)
|
|
// //fmt.Println("所有索引的详细信息:", string(infosJson))
|
|
//
|
|
// // 获取索引设置
|
|
// //settings, err := client.GetIndexSettings("test-go-index")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //marshal, _ := json.Marshal(settings)
|
|
// //fmt.Println("marshal:", string(marshal))
|
|
//
|
|
// // 创建索引
|
|
// // 创建索引映射
|
|
// //mapping := `{
|
|
// // "settings": {
|
|
// // "number_of_shards": 1,
|
|
// // "number_of_replicas": 1,
|
|
// // "analysis": {
|
|
// // "analyzer": {
|
|
// // "default": {
|
|
// // "type": "standard"
|
|
// // }
|
|
// // }
|
|
// // }
|
|
// // },
|
|
// // "mappings": {
|
|
// // "properties": {
|
|
// // "id":{
|
|
// // "type":"integer"
|
|
// // },
|
|
// // "title": {
|
|
// // "type": "text",
|
|
// // "analyzer": "standard",
|
|
// // "search_analyzer": "standard"
|
|
// // },
|
|
// // "content": {
|
|
// // "type": "text",
|
|
// // "analyzer": "standard",
|
|
// // "search_analyzer": "standard"
|
|
// // },
|
|
// // "author": {
|
|
// // "type": "keyword"
|
|
// // },
|
|
// // "created_at": {
|
|
// // "type": "date"
|
|
// // },
|
|
// // "tags": {
|
|
// // "type": "keyword"
|
|
// // }
|
|
// // }
|
|
// // }
|
|
// //}`
|
|
// //index, err := client.CreateIndex("test-cc", mapping)
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //marshal, _ := json.Marshal(index)
|
|
// //fmt.Println("marshal:", string(marshal))
|
|
//
|
|
// 删除索引
|
|
//err = client.deleteIndex("test-go-index")
|
|
//if err != nil {
|
|
// fmt.Println(err.Error())
|
|
//}
|
|
//
|
|
// // 修改索引设置
|
|
// //newSettings := map[string]interface{}{
|
|
// // "index": map[string]interface{}{
|
|
// // "refresh_interval": "5s",
|
|
// // "max_result_window": 10000,
|
|
// // },
|
|
// //}
|
|
// //err = client.UpdateIndexSettings("test-cc", newSettings)
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 更新映射
|
|
// //newMappings := map[string]interface{}{
|
|
// // "views": map[string]interface{}{
|
|
// // "type": "integer",
|
|
// // },
|
|
// //}
|
|
// //err = client.UpdateIndexMappings("test-cc", newMappings)
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 关闭索引
|
|
// //err = client.CloseIndex("test-cc")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// //// 打开索引
|
|
// //err = client.OpenIndex("test-cc")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 获取文档数量
|
|
// //count, err := client.GetDocumentCount("test-cc")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //fmt.Println("文档数量: ", count)
|
|
//
|
|
// // 创建文档
|
|
// //doc := Document{
|
|
// // ID: "10002",
|
|
// // Title: "测试文档2",
|
|
// // Content: "这是一个测试文档2",
|
|
// // Author: "测试员2",
|
|
// // CreatedAt: time.Now(),
|
|
// // Tags: []string{"测试2", "文档2"},
|
|
// //}
|
|
// //err = client.CreateDocument("test-cc", doc.ID, doc)
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 更新文档
|
|
// //err = client.UpdateDocument("test-cc", "10002", map[string]interface{}{
|
|
// // "title": "测试文档2",
|
|
// // "content": "这是一个测试文档2",
|
|
// //})
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 删除文档
|
|
// //err = client.DeleteDocument("test-cc", "10001")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
//
|
|
// // 搜索文档
|
|
// //query := map[string]interface{}{
|
|
// // "query": map[string]interface{}{
|
|
// // "match": map[string]interface{}{
|
|
// // "id": "10000",
|
|
// // },
|
|
// // },
|
|
// // "size": 100,
|
|
// //}
|
|
// //documents, err := client.SearchDocuments("test-cc", query)
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //documentsJson, _ := json.Marshal(documents)
|
|
// //fmt.Println(string(documentsJson))
|
|
//
|
|
// // 获取文档信息
|
|
// //document, err := client.GetDocument("test-cc", "10000")
|
|
// //if err != nil {
|
|
// // fmt.Println(err.Error())
|
|
// //}
|
|
// //bytes, _ := json.Marshal(document)
|
|
// //fmt.Println("获取文档信息", string(bytes))
|
|
//
|
|
// // 获取单个索引
|
|
// detail, err := client.getIndexDetail("test-cc")
|
|
// if err != nil {
|
|
// fmt.Println(err.Error())
|
|
// }
|
|
// detailJson, _ := json.Marshal(detail)
|
|
// fmt.Println("单个索引的所有信息:", string(detailJson))
|
|
//}
|
|
|
|
// Document 示例文档结构
|
|
type Document struct {
|
|
ID string `json:"id,omitempty"`
|
|
Title string `json:"title"`
|
|
Content string `json:"content"`
|
|
Author string `json:"author"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
Tags []string `json:"tags"`
|
|
}
|