Saya cuba mencipta dasar pengurusan kitaran hayat indeks (ilm) daripada klien golang elastik olivere untuk memadamkan indeks yang lebih lama daripada 3 bulan (menggunakan mod "indeks harian"). Perkara seperti ini:
{ "policy": { "phases": { "delete": { "min_age": "90d", "actions": { "delete": {} } } } } }
Saya dapat melihat struktur seperti ini dalam kod sumber perpustakaan: xpackilmputlifecycleservice, yang mempunyai medan berikut:
type XPackIlmPutLifecycleService struct { client *Client pretty *bool // pretty format the returned JSON response human *bool // return human readable values for statistics errorTrace *bool // include the stack trace of returned errors filterPath []string // list of filters used to reduce the response headers http.Header // custom request-level HTTP headers policy string timeout string masterTimeout string flatSettings *bool bodyJson interface{} bodyString string }
Berikut ialah pautan dokumentasi. Walau bagaimanapun, saya agak keliru tentang cara mencipta strategi untuk menggunakan ini untuk melakukan kerja, kerana nampaknya kehilangan beberapa medan (seperti min_age
menetapkan ttl indeks). Apakah cara yang betul untuk membuat dasar ilm melalui pelanggan ini.
Anda boleh rujuk kod ujian! Pada asasnya anda boleh meletakkan json ke dalam medan badan.
testPolicyName := "test-policy" body := `{ "policy": { "phases": { "delete": { "min_age": "90d", "actions": { "delete": {} } } } } }` // Create the policy putilm, err := client.XPackIlmPutLifecycle().Policy(testPolicyName).BodyString(body).Do(context.TODO())
https://github.com /olivere/elastic/blob/release-branch.v7/xpack_ilm_test.go#l15-l31
Atas ialah kandungan terperinci Cara membuat dasar ElasticSearch daripada pelanggan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!