Rumah > pembangunan bahagian belakang > Golang > Cara membuat dasar ElasticSearch daripada pelanggan Golang

Cara membuat dasar ElasticSearch daripada pelanggan Golang

WBOY
Lepaskan: 2024-02-05 22:15:12
ke hadapan
987 orang telah melayarinya

如何从 Golang 客户端创建 ElasticSearch 策略

Kandungan soalan

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": {}
        }
      }
    }
  }
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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.


Jawapan betul


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())
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan