Mesin pencari Lindorm menyediakan RESTful API yang kompatibel dengan Elasticsearch. Anda dapat menggunakan perintah curl untuk memanggil API tersebut guna mengelola indeks pencarian dan dokumen.
Prasyarat
Aktifkan mesin pencari. Untuk informasi selengkapnya, lihat Panduan aktivasi.
Tambahkan alamat IP klien Anda ke daftar putih instans Lindorm. Untuk informasi selengkapnya, lihat Konfigurasi daftar putih.
Menghubungkan ke mesin pencari
Jalankan perintah berikut untuk menghubungkan ke mesin pencari dan melihat informasi indeks dalam kluster.
curl -XGET "http://<url>/_cat/indices?v" -u <username>:<password> Deskripsi parameter
Parameter | Deskripsi |
url | Titik akhir yang Elasticsearch-compatible dari mesin pencari. Untuk mendapatkan titik akhir tersebut, lihat Titik akhir yang kompatibel dengan Elasticsearch. Penting
|
username | Username dan password untuk mengakses mesin pencari. Untuk mendapatkan username dan password default: Di panel navigasi sebelah kiri Konsol, pilih Database Connections lalu klik tab Search Engine. Kredensial disediakan di tab Search Engine. |
password |
Berikut contoh koneksi:
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<password>Setelah koneksi berhasil dibuat, hasil berikut dikembalikan. Karena belum ada indeks yang dibuat, hasil tersebut tidak berisi informasi indeks apa pun.
health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizeMenggunakan mesin pencari
Bagian berikut menyediakan perintah curl umum. Untuk informasi selengkapnya, lihat dokumentasi resmi Elasticsearch.
Kelola indeks
Buat indeks.
Buat indeks bernama lindorm_search di mesin pencari.
curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<password> -H 'Content-Type: application/json' -d ' { "settings": { "number_of_shards": 4 // Tetapkan jumlah shard utama menjadi 4 } }'PentingSatu node tunggal di mesin pencari mendukung maksimal
1000shard. Untuk menaikkan batas ini, hubungi dukungan teknis Lindorm (ID DingTalk: s0s3eg3).Operasi yang berhasil akan mengembalikan hasil berikut:
{"acknowledged":true,"shards_acknowledged":true,"index":"lindorm_search"}Tetapkan skema indeks.
Tetapkan skema untuk indeks lindorm_search ke
_mappingdan tipe ke_doc. Skema harus mencakup bidangid,name, dandescribe.curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/_mapping" -u <username>:<password> -H 'Content-Type: application/json' -d ' { "_doc":{ "properties": { "id": {"type": "long"}, "name":{"type":"keyword"}, "describe": {"type": "text"} } } }'Setelah konfigurasi berhasil, hasil berikut dikembalikan:
{"_index":"lindorm_search","_type":"_doc","_id":"_mapping","_version":1,"result":"created","_shards":{"total":1,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}Lihat indeks dalam instans.
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<password>Hasil berikut akan dikembalikan:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open lindorm_search lindorm_search 1 0 0 0 208b 208bJika tidak ada indeks dalam instans saat ini, hasil yang dikembalikan tidak berisi informasi indeks apa pun.
Hapus indeks.
curl -XDELETE "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<password>Jika indeks berhasil dihapus, hasil berikut dikembalikan:
{"acknowledged":true}
Kelola dokumen
Buat satu dokumen.
Buat dokumen dengan ID 1 dalam indeks lindorm_search.
curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1" -u <username>:<password> -H 'Content-Type: application/json' -d ' { "id":100, "name":"shenzhen", "describe":"just a test" }'Buat beberapa dokumen.
Buat dua dokumen dengan ID 1 dan 2 dalam indeks lindorm_search.
curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_bulk" -u <username>:<password> -H 'Content-Type: application/json' -d' { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "1" } } {"id":200,"name":"shanghai","describe":"just"} { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "2" } } {"id":300,"name":"beijing","describe":"good luck"} 'Cari dokumen.
Cari dokumen dengan ID 1.
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1?pretty" -u <username>:<password>Hasil berikut akan dikembalikan:
{ "_index" : "lindorm_search", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "id" : 100, "name" : "shenzhen", "describe" : "just a test" } }