Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memodelkan Data Perkaitan Kompleks Ke dalam Struktur Indeks ElasticSearch Diratakan?

Bagaimana untuk Memodelkan Data Perkaitan Kompleks Ke dalam Struktur Indeks ElasticSearch Diratakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 14:12:02663semak imbas

How to Model Complex Relational Data Into a Flattened ElasticSearch Index Structure?

Struktur Indeks ElasticSearch dengan Pengikatan Entiti Berbilang

Memahami keperluan untuk mengoptimumkan struktur pangkalan data untuk penyepaduan ElasticSearch (ES), adalah penting untuk meneroka bagaimana untuk memodelkan data hubungan yang kompleks ke dalam struktur indeks ES yang diratakan.

Pengikatan Entiti Berbilang dalam Struktur Rata

Penyahnormalan ialah teknik utama untuk mengoptimumkan storan data. Sebagai contoh, daripada mengekalkan perhubungan N:M antara produk dan bendera melalui jadual pangsi, pertimbangkan untuk mencipta indeks ES rata di mana setiap dokumen produk mengandungi pelbagai bendera yang berkaitan.

Struktur Dokumen Produk

Dokumen produk yang diratakan akan menyerupai struktur berikut:

{
   "id": "00c8234d71c4e94f725cd432ebc04",
   "title": "Alpha",
   "price": 589.0,
   "flags": ["Sellout", "Top Product"]
}

Jenis Pemetaan Produk untuk Indeks ES

Jenis pemetaan ES untuk struktur yang diratakan ini akan kelihatan sama seperti berikut:

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"
                }
            }
        }
    }
}

Mengekstrak Data menggunakan SQL Query

Untuk mengambil data yang diperlukan daripada pangkalan data untuk pemprosesan Logstash, SQL pertanyaan boleh digunakan seperti berikut:

Atas ialah kandungan terperinci Bagaimana untuk Memodelkan Data Perkaitan Kompleks Ke dalam Struktur Indeks ElasticSearch Diratakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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