สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-113

Elasticsearch with Python

หลักสูตร Elasticsearch with Python เป็นการอบรมการใช้ Elasticsearch 9 ผ่าน Python Client ตั้งแต่จัดการ Document ออกแบบ Mapping และ Analyzer ภาษาไทย ค้นหาด้วย Query DSL สรุปข้อมูลด้วย Aggregation และ ES|QL จนถึงเก็บ Log และทำ Vector Search เหมาะกับนักพัฒนา Python ผู้ดูแลระบบ และ DBA

อัปเดตล่าสุด
ราคาเริ่มต้น 11,250 บาท / ท่าน 12,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

Elasticsearch เป็นเครื่องมือค้นหาและวิเคราะห์ข้อมูลแบบกระจายที่สร้างบน Apache Lucene ใช้ได้ทั้งค้นหาข้อมูลในแอป วิเคราะห์ Log และเก็บข้อมูลแบบ Vector สำหรับงาน AI ส่วน Kibana ช่วยสืบค้นและแสดงผลข้อมูลเป็นภาพ ทั้งสองตัวพัฒนาไปมากใน Elastic Stack 9 และ Python Client รุ่น 9 ได้รวม DSL Module เข้ามาในแพ็กเกจเดียว ทำให้นักพัฒนา Python สร้างงานค้นหาและงานข้อมูลบน Elasticsearch ได้ครบในที่เดียว

หลักสูตรนี้พาผู้เรียนใช้ Elasticsearch 9 ผ่าน Python ตั้งแต่ติดตั้งด้วย Docker จัดการ Document ด้วย Python Client 9 ออกแบบ Mapping และ Analyzer รวมถึงภาษาไทย ค้นหาด้วย Query DSL ปรับผลการค้นหา และสรุปข้อมูลด้วย Aggregation และ ES|QL ต่อด้วยการส่ง Log จาก Python ในรูปแบบ ECS เข้า Data Stream พร้อม ILM สืบค้นใน Kibana และทำ Vector Search แล้วปิดท้ายด้วย Workshop สร้าง Search API ด้วย FastAPI (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • ติดตั้ง Elasticsearch และ Kibana 9 ด้วย Docker พร้อม Security และ API Key
  • จัดการ Index และ Document ด้วย Python Client 9 ทั้งแบบทีละรายการ แบบ Bulk และแบบ Async
  • ออกแบบ Mapping และ Analyzer ที่เหมาะกับข้อมูล รวมถึงข้อความภาษาไทย
  • เขียน Query DSL และ Python DSL สำหรับค้นหาแบบ Term และ Full-text พร้อมปรับ Relevance
  • สรุปและวิเคราะห์ข้อมูลด้วย Aggregation และ ES|QL แล้วนำผลเข้า pandas ได้
  • เขียน Log จาก Python ไปยัง Elasticsearch ในรูปแบบ ECS พร้อม Data Stream และ ILM
  • สืบค้น Log และสร้าง Dashboard ใน Kibana
  • ทำ Vector Search และสร้าง Search API ด้วย FastAPI ได้

หลักสูตรนี้เหมาะสำหรับ

  • นักพัฒนา Python ที่ต้องการเพิ่มระบบค้นหาหรือวิเคราะห์ข้อมูลให้แอป
  • ผู้ดูแลระบบที่ต้องการเก็บและสืบค้น Log ของแอปด้วย Elasticsearch
  • Database Administrator และ Data Engineer ที่ต้องดูแลข้อมูลใน Elasticsearch
  • ทีมที่ต้องการต่อยอดระบบค้นหาไปสู่ Semantic Search

พื้นฐานของผู้เข้าอบรม

  • เขียน Python ได้ในระดับใช้งาน เช่น Function, Dictionary และการติดตั้งแพ็กเกจ
  • เข้าใจรูปแบบข้อมูล JSON และแนวคิดของ REST API
  • ใช้ Command Line และ Docker ขั้นพื้นฐานได้
  • โน้ตบุ๊ก RAM 16 GB ขึ้นไปที่ติดตั้ง Docker Desktop ได้

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Elasticsearch with Python เนื้อหาอัปเดตเป็น Elastic Stack 9 และ Python Client 9 อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนข้อมูลชุดเดียวต่อเนื่องตลอดหลักสูตร ระดับ Intermediate วันแรกเป็นการติดตั้งและจัดการข้อมูลด้วย Python, Mapping และ Analyzer ภาษาไทย วันที่สองเป็นการค้นหา

การปรับผลการค้นหา Aggregation และ ES|QL วันที่สามเป็นการเก็บ Log จาก Python, Data Stream กับ ILM, Kibana และ Vector Search พร้อม Workshop สร้าง Search API ด้วย FastAPI ทุก Lab รันบนเครื่องของผู้เรียนด้วย Docker หลักสูตรนี้เน้นการใช้งานจาก Python ส่วนผู้ที่พัฒนาด้วย .NET มีหลักสูตร Elasticsearch and Kibana with .NET แยกต่างหาก ผู้เรียนจะได้ Lab Guide ซอร์สโค้ด และไฟล์ docker-compose กลับไปใช้งานต่อ

Day 1 Elasticsearch 9 และการจัดการข้อมูลด้วย Python

Section 1: Lab: รู้จัก Elastic Stack 9 และติดตั้งด้วย Docker

  • Use Case ของ Elasticsearch: ค้นหาในแอป, Log Analytics และ Vector Search
  • สถาปัตยกรรม Cluster, Node, Index, Shard, Replica และ Inverted Index
  • ติดตั้ง Elasticsearch และ Kibana 9 ด้วย Docker พร้อม Security เปิดใช้งาน
  • ตรวจสถานะ Cluster และสร้าง API Key สำหรับแอป Python
  • Lab: ทดลองคำสั่งแรกใน Kibana Dev Tools Console

Section 2: Lab: จัดการ Document ด้วย Python Client 9

  • ติดตั้งและเชื่อมต่อด้วย Python Client 9 ผ่าน API Key
  • สร้างและลบ Index, เพิ่ม ดึง แทนที่ และลบ Document
  • อัปเดตบางฟิลด์ อัปเดตด้วย Script และการทำ Upsert
  • นำเข้าข้อมูลจำนวนมากด้วย helpers.bulk และ streaming_bulk
  • ใช้ AsyncElasticsearch กับงานที่ต้องเรียกพร้อมกันจำนวนมาก

Section 3: การอ่านเขียนข้อมูลและ Concurrency

  • Elasticsearch อ่านและเขียนข้อมูลอย่างไร Routing และ Refresh
  • Document Versioning และ Optimistic Concurrency ด้วย if_seq_no
  • Update by Query และ Delete by Query
  • Lab: ป้องกันการเขียนทับข้อมูลเมื่อหลายโปรแกรมอัปเดตพร้อมกัน

Section 4: Lab: ออกแบบ Mapping

  • Dynamic Mapping เทียบกับ Explicit Mapping และการใช้ร่วมกัน
  • ชนิดข้อมูลหลัก ฟิลด์ text กับ keyword, Date, Array และ Type Coercion
  • Multi-field, Field Alias, Dynamic Template และ Index Template
  • เปลี่ยน Mapping ด้วย Reindex API และรู้จัก Elastic Common Schema (ECS)
  • Lab: ออกแบบ Mapping ของข้อมูลสินค้าและบทความ

Section 5: Text Analysis และภาษาไทย

  • Analyzer, Tokenizer และ Token Filter ทำงานอย่างไร
  • ทดสอบด้วย Analyze API และดูผลใน Inverted Index
  • Stemming, Stop Words และ Built-in Analyzer
  • ตัดคำภาษาไทยด้วย Thai Analyzer และสร้าง Custom Analyzer
  • Lab: เปรียบเทียบผลค้นหาข้อความภาษาไทยก่อนและหลังปรับ Analyzer
Day 2 การค้นหาและวิเคราะห์ข้อมูล

Section 6: Lab: Term-level Query และ Python DSL

  • term, terms, ids และ range Query
  • prefix, wildcard, regexp และ exists Query
  • เขียน Query ด้วย Search Class ใน elasticsearch.dsl
  • Lab: ค้นหาและกรองสินค้าตามหมวด ราคา และสถานะ

Section 7: Full-text Search และ Relevance

  • match, multi_match และ match_phrase
  • การคำนวณคะแนนด้วย BM25 และการอ่าน Relevance Score
  • bool Query: must, should, filter และ must_not พร้อม Query กับ Filter Context
  • ปรับลำดับผลด้วย Boosting และ dis_max
  • Lab: ระบบค้นหาบทความที่เรียงผลได้ตรงความต้องการ

Section 8: Nested Object และ Join

  • ปัญหาของ Object Array และการใช้ Nested Field กับ Inner Hits
  • Join Field แบบ Parent และ Child พร้อม has_child และ has_parent
  • Terms Lookup สำหรับดึงเงื่อนไขจาก Document อื่น
  • ข้อจำกัดด้านประสิทธิภาพ และเมื่อไรควรเลือก Denormalize แทน

Section 9: Lab: ควบคุมและปรับปรุงผลการค้นหา

  • Source Filtering, การเรียงผล และการเรียงตามฟิลด์หลายค่า
  • แบ่งหน้าด้วย from และ size และแบ่งหน้าลึกด้วย search_after กับ Point in Time
  • Fuzzy Query รองรับการพิมพ์ผิด และ Proximity Search
  • Synonym และ Highlight คำที่ตรงกับคำค้น
  • Lab: ช่องค้นหาที่ทนการพิมพ์ผิดพร้อมไฮไลต์คำค้น

Section 10: Lab: Aggregation และ ES|QL

  • Metric Aggregation และ Bucket Aggregation แบบ terms, range และ histogram
  • date_histogram, Nested Aggregation, filter และ global Aggregation
  • เขียน ES|QL เบื้องต้น: FROM, WHERE, STATS และ SORT
  • เรียก ES|QL จาก Python แล้วนำผลเข้า pandas DataFrame
  • Lab: รายงานยอดขายรายเดือนแยกตามหมวดสินค้า
Day 3 Logging, Kibana และ Search ยุคใหม่

Section 11: Lab: เขียน Log จาก Python ไปยัง Elasticsearch

  • ทำไม Log ควรมีโครงสร้าง และรูปแบบ ECS
  • ตั้งค่า logging ของ Python ด้วย ecs-logging
  • ส่ง Log เข้า Elasticsearch ด้วย Bulk และเพิ่มข้อมูลบริบทของคำขอ
  • Lab: เก็บ Log ของแอป Python พร้อม Trace ID สำหรับไล่ปัญหา

Section 12: Data Stream, ILM และการดูแล Index

  • Data Stream สำหรับข้อมูลที่เพิ่มขึ้นตามเวลา
  • Index Template และ Component Template
  • Index Lifecycle Management: Rollover และการลบข้อมูลเก่าอัตโนมัติ
  • ตรวจขนาด Index, Shard และสุขภาพของ Cluster
  • Lab: ตั้งนโยบายเก็บ Log 30 วันแล้วลบอัตโนมัติ

Section 13: Lab: สืบค้นและแสดงผลด้วย Kibana

  • Data View และการสืบค้น Log ใน Discover ด้วย KQL และ ES|QL
  • สร้าง Visualization ด้วย Lens
  • รวมเป็น Dashboard สำหรับติดตามแอป
  • Lab: Dashboard แสดงจำนวนคำขอ Error และเวลาตอบสนองของแอป

Section 14: Vector Search และ Semantic Search

  • Keyword Search ต่างจาก Semantic Search อย่างไร
  • สร้าง Embedding ด้วย Python แล้วเก็บในฟิลด์ dense_vector
  • ค้นหาด้วย kNN และรวมกับเงื่อนไขกรองข้อมูลปกติ
  • ฟิลด์ semantic_text และ Hybrid Search (ใช้ Trial License)
  • Lab: ค้นหาบทความด้วยความหมายของคำค้นภาษาไทย

Section 15: Workshop: Search API ด้วย FastAPI

  • ออกแบบ Search API ด้วย FastAPI และ AsyncElasticsearch
  • Endpoint สำหรับค้นหา กรอง แบ่งหน้า และแนะนำคำค้น
  • เก็บ Log ของ API เข้า Elasticsearch และติดตามผลใน Kibana
  • นำเสนอผลงาน รีวิวร่วมกัน และสรุป Checklist ก่อนขึ้น Production

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Mapping ใน Elasticsearch คืออะไร ฟิลด์ text กับ keyword ต่างกันอย่างไร

Mapping คือการกำหนดโครงสร้างของ Index ว่าแต่ละฟิลด์เป็นข้อมูลชนิดใดและจัดเก็บอย่างไร ฟิลด์ text จะผ่าน Analyzer ที่ตัดข้อความเป็นคำย่อย ๆ เหมาะกับการค้นหาแบบ Full-text เช่น ชื่อหรือรายละเอียดสินค้า ส่วนฟิลด์ keyword เก็บค่าทั้งก้อนตามจริง เหมาะกับการกรองแบบตรงตัว การเรียงลำดับ และ Aggregation เช่น รหัสหรือหมวดหมู่ ในงานจริงมักใช้ Multi-field ให้ฟิลด์เดียวมีทั้งสองแบบ

ใช้ Python เพิ่มและค้นหาเอกสารใน Elasticsearch ทำอย่างไร

ติดตั้งแพ็กเกจ elasticsearch รุ่น 9 แล้วสร้าง Client ด้วย URL และ API Key จากนั้นเรียก index เพื่อเพิ่ม Document ทีละรายการ หรือใช้ helpers.bulk เมื่อมีข้อมูลจำนวนมาก การค้นหาเรียก search พร้อม Query DSL หรือเขียนผ่าน Search Class ใน elasticsearch.dsl ที่รวมอยู่ใน Client รุ่น 9 แล้ว ถ้าแอปต้องเรียกพร้อมกันจำนวนมาก เช่น บน FastAPI ให้ใช้ AsyncElasticsearch

Aggregation ใน Elasticsearch ใช้ทำอะไร

Aggregation ใช้สรุปข้อมูลจำนวนมากในคำสั่งเดียว เช่น นับจำนวน หาผลรวม ค่าเฉลี่ย หรือจัดกลุ่มตามหมวดหมู่ ช่วงราคา และช่วงเวลา จึงใช้ทำรายงาน Dashboard และตัวกรองแบบ Facet บนหน้าค้นหาได้ นอกจากนี้ Elasticsearch ยังมี ES|QL ที่เขียนคำสั่งแบบต่อกันเป็นขั้นตอนอ่านง่าย และเรียกจาก Python แล้วนำผลเข้า pandas ได้ ในหลักสูตรได้ฝึกทั้งสองแบบ

หลักสูตร Elasticsearch with Python เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับนักพัฒนา Python ที่ต้องการเพิ่มระบบค้นหาหรือวิเคราะห์ข้อมูลให้แอป ผู้ดูแลระบบที่ต้องเก็บและสืบค้น Log และ DBA หรือ Data Engineer ที่ดูแลข้อมูลใน Elasticsearch ผู้เรียนควรเขียน Python ได้ในระดับใช้งาน เข้าใจ JSON และ REST API และใช้ Command Line กับ Docker ขั้นพื้นฐานได้ และควรมีโน้ตบุ๊ก RAM 16 GB ขึ้นไปที่ติดตั้ง Docker Desktop ได้

เรียนจบหลักสูตร Elasticsearch with Python แล้วทำอะไรได้บ้าง

ผู้เรียนจะติดตั้งและเชื่อมต่อ Elasticsearch 9 จาก Python ได้ ออกแบบ Mapping และ Analyzer ที่รองรับภาษาไทย เขียน Query ค้นหาและปรับลำดับผลได้ตรงความต้องการ สรุปข้อมูลด้วย Aggregation และ ES|QL เขียน Log จาก Python ในรูปแบบ ECS พร้อม Data Stream และ ILM สร้าง Dashboard ใน Kibana และทำ Vector Search ได้ พร้อมโปรเจกต์ Search API ด้วย FastAPI กลับไปพัฒนาต่อ

จัดอบรมหลักสูตร Elasticsearch with Python ให้ทีมในองค์กรได้ไหม

ได้ สถาบันไอทีจีเนียสรับจัดอบรมแบบ In-house สำหรับองค์กร สามารถปรับตัวอย่างและ Lab ให้ใกล้เคียงระบบของทีม เช่น ระบบค้นหาสินค้าหรือเอกสารภาษาไทย หรือระบบเก็บและสืบค้น Log ของแอป และเลือกเน้นด้านการค้นหาหรือด้าน Logging ตามความต้องการ ติดต่อขอใบเสนอราคาได้ผ่านช่องทางของสถาบัน

บทความที่เกี่ยวข้อง