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"` }