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

Cara membuat dasar ElasticSearch daripada pelanggan Golang

WBOY
WBOYke hadapan
2024-02-05 22:15:12985semak imbas

如何从 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": {}
        }
      }
    }
  }
}

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.


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())

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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam