Cara Menstruktur Indeks ElasticSearch dengan Pengikatan Berbilang Entiti
Pengenalan
Mengintegrasikan ElasticSearch (ES ) ke dalam aplikasi sedia ada sering menimbulkan persoalan bagaimana untuk meniru pangkalan data yang kompleks struktur dalam indeks ES. Artikel ini menangani cabaran khusus untuk mengkonfigurasi struktur indeks apabila berurusan dengan berbilang pengikatan entiti.
Struktur Pangkalan Data
Pertimbangkan struktur pangkalan data berikut daripada aplikasi e-dagang:
Meratakan Struktur
Untuk mengoptimumkan pertanyaan dan kemudahan penggunaan, adalah disyorkan untuk menyahnormalkan data dengan meratakan struktur. Ini melibatkan mencipta dokumen produk yang menggabungkan semua maklumat yang berkaitan daripada jadual lain:
{ "id": "00c8234d71c4e94f725cd432ebc04", "title": "Alpha", "price": 589.0, "flags": ["Sellout", "Top Product"] }
Pemetaan Produk ES
Jenis pemetaan produk ES yang sepadan ialah:
PUT products { "mappings": { "product": { "properties": { "id": { "type": "string", "index": "not_analyzed" }, "title": { "type": "string" }, "price": { "type": "double", "null_value": 0.0 }, "flags": { "type": "string", "index": "not_analyzed" } } } } }
Logstash SQL Pertanyaan
Untuk mengisi indeks ES, input Logstash JDBC boleh digunakan dengan pertanyaan berikut:
Atas ialah kandungan terperinci Bagaimana untuk Menstrukturkan Indeks Elasticsearch untuk Perhubungan Berbilang Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!