Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menstrukturkan Indeks Elasticsearch untuk Perhubungan Berbilang Entiti?

Bagaimana untuk Menstrukturkan Indeks Elasticsearch untuk Perhubungan Berbilang Entiti?

Susan Sarandon
Lepaskan: 2024-11-29 16:32:10
asal
840 orang telah melayarinya

How to Structure an Elasticsearch Index for Multiple Entity Relationships?

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:

  • Produk (id, tajuk, harga)
  • Bendera (id, tajuk)
  • BenderaProduk (jadual pangsi dengan productId, flagId, externalId)

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

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

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!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan