الوحدة 3 — المستندات: CRUD والإصدارات والاستيراد الضّخم بـ_bulk
Cluster يستجيب، والمفاهيم مُثبَّتة. يستطيع Sami أخيرًا التّعامل مع المستندات: إنشاء مقال، وتعديله، واسترجاعه، وحذفه، وفهم كيف يتفادى Elasticsearch عمليّات الكتابة المتزامنة التي تدهس البيانات. ثمّ، مع Inès، يُفهرس الكوربوس الكامل — 200 853 مقالًا في أقلّ من ثلاثين ثانية بفضل واجهة _bulk.
إنشاء مستند وقراءته وتعديله وحذفه
كلّ استعلامات الوحدة تُلصَق في Kibana Dev Tools. نتمرّن أوّلًا على فهرس صغير مخصَّص حتّى لا نخلط بالكوربوس الحقيقيّ.
PUT bac_a_sable
{
"settings": { "number_of_shards": 1, "number_of_replicas": 0 },
"mappings": {
"properties": {
"titre": { "type": "text" },
"auteur": { "type": "keyword" },
"vues": { "type": "integer" },
"date": { "type": "date", "format": "yyyy-MM-dd" }
}
}
}
PUT بـ_id مختار: مُتماثل التّطبيق
PUT bac_a_sable/_doc/1
{
"titre": "Change Is Here. Climate Change.",
"auteur": "Inès",
"vues": 0,
"date": "2026-09-09"
}
ردّ نموذجيّ:
{
"_index": "bac_a_sable",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": { "total": 1, "successful": 1, "failed": 0 },
"_seq_no": 0,
"_primary_term": 1
}
أعد الاستعلام نفسه: يصير result هو updated، ويقفز _version إلى 2، ويتزايد _seq_no. PUT /index/_doc/1 يستبدل المستند كلّيًّا؛ هذه هي الكتابة المُتماثلة التّطبيق التي تريدها حين تملك مفتاحًا عمليًّا (رقم مقال، مرجع منتج).