สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
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 จากเอกสาร JSON แบบกระจาย และสร้างกราฟด้วย Kibana เช่น กราฟเส้นและแผนภูมิวงกลม เหมาะกับผู้ดูแลระบบและ DBA ที่เข้าใจ Python และ JSON มาบ้าง จบแล้วเขียน Log ด้วย Python ไปยัง Elasticsearch ได้

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

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

Elasticsearch with Python ElasticSearch คือเครื่องมือค้นหาและวิเคราะห์ข้อมูลแบบกระจาย ที่มีพื้นฐานมาจาก Apache Lucene การรองรับภาษาต่างๆ ประสิทธิภาพที่สูง และเอกสาร JSON ที่ปราศจากสคีมาทำให้ Elasticsearch เป็นตัวเลือกที่เหมาะอย่างยิ่งสำหรับการวิเคราะห์บันทึกและกรณีใช้งานการค้นหาต่างๆ

Kibana คือเครื่องมือแสดงข้อมูลด้วยภาพและสำรวจข้อมูลที่ใช้สำหรับการวิเคราะห์บันทึกและอนุกรมเวลา การตรวจสอบแอปพลิเคชัน และการใช้งานความอัจฉริยะในการดำเนินการ ซึ่งมีคุณสมบัติประสิทธิภาพสูงแต่ใช้งานง่ายมากมาย เช่น ฮิสโตแกรม กราฟเส้น แผนภูมิวงกลม แผนภูมิความร้อน และการสนับสนุนภูมิสารสนเทศในตัว นอกจากนั้นยังมีการผสานรวมที่เหนียวแน่นกับเครื่องมือวิเคราะห์และค้นหายอดนิยมอย่าง Elasticsearch อีกด้วย ซึ่งทำให้ Kibana กลายเป็นตัวเลือกแรกๆ ในการแสดงข้อมูลที่อยู่ใน Elasticsearch ด้วยภาพ

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

  • สามารถเขียน log ด้วย Python ไปยัง Elasticsearch ได้

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

  • ผู้ดูแลระบบ
  • Database Administrator (DBA)

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

  • พื้นฐานการออกแบบเว็บไซต์ด้วยภาษา HTML และ CSS
  • เข้าใจแนวคิด โครงสร้างของเทคโนโลยี Python
  • พื้นฐานการใช้งาน JSON

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

Module 1 รู้จัก Elasticsearch กับ Python
  • รู้จัก Elasticsearch
  • ภาพรวม Elastic Stack
  • สถาปัตยกรรมของ Elasticsearch
Module 2 เริ่มต้นใช้งาน
  • ภาพรวมทางเลือกในการติดตั้ง
  • รัน Elasticsearch และ Kibana บน Elastic Cloud
  • ติดตั้ง Elasticsearch และ Kibana บน macOS และ Linux
  • ติดตั้ง Elasticsearch และ Kibana บน Windows
  • ทำความเข้าใจสถาปัตยกรรมพื้นฐาน
  • ตรวจสอบสถานะ Cluster
  • ส่ง Query ด้วย cURL
  • Sharding และการขยายระบบ (Scalability)
  • การทำ Sharding
  • ทำความเข้าใจ Replication
  • เพิ่ม Node เข้า Cluster
  • ภาพรวมบทบาทของ Node
Module 3 จัดการ Document ด้วย Python
  • สร้างและลบ Index
  • การ Index Document
  • ดึง Document ตาม ID
  • อัปเดต Document
  • อัปเดตด้วย Script
  • การทำ Upsert
  • แทนที่ Document
  • ลบ Document
  • ทำความเข้าใจ Routing
  • Elasticsearch อ่านข้อมูลอย่างไร
  • Elasticsearch เขียนข้อมูลอย่างไร
  • ทำความเข้าใจ Document Versioning
  • Optimistic Concurrency Control
  • Update by Query
  • Delete by Query
  • การประมวลผลแบบ Batch
  • นำเข้าข้อมูลด้วย cURL
Module 4 Mapping และ Analysis
  • รู้จัก Mapping
  • รู้จัก Analysis
  • ใช้ Analyze API
  • ทำความเข้าใจ Inverted Index
  • แนะนำการทำ Mapping
  • ภาพรวมชนิดข้อมูล
  • ชนิดข้อมูล "keyword" ทำงานอย่างไร
  • ทำความเข้าใจ Type Coercion
  • ทำความเข้าใจ Array
  • เพิ่ม Explicit Mapping
  • ดึงข้อมูล Mapping
  • ใช้ Dot Notation ในชื่อ Field
  • เพิ่ม Mapping ให้ Index ที่มีอยู่
  • การจัดการวันที่ใน Elasticsearch
  • การจัดการ Field ที่ไม่มีค่า
  • ภาพรวม Mapping Parameters
  • อัปเดต Mapping ที่มีอยู่
  • Reindex Document ด้วย Reindex API
  • กำหนด Field Alias
  • Multi-field Mapping
  • Index Template
  • รู้จัก Elastic Common Schema (ECS)
  • รู้จัก Dynamic Mapping
  • ใช้ Explicit และ Dynamic Mapping ร่วมกัน
  • ตั้งค่า Dynamic Mapping
  • Dynamic Template
  • ข้อแนะนำในการทำ Mapping
  • Stemming และ Stop Words
  • Analyzer กับ Search Query
  • Built-in Analyzer
  • สร้าง Custom Analyzer
  • เพิ่ม Analyzer ให้ Index ที่มีอยู่
  • อัปเดต Analyzer
Module 5 การค้นหาข้อมูล
  • รู้จักการค้นหา
  • รู้จัก Term Level Query
  • ค้นหาด้วย Term
  • ดึง Document ตาม ID หลายรายการ
  • ค้นหาแบบช่วง (Range)
  • Prefix, Wildcard และ Regular Expression
  • Query ตามการมีอยู่ของ Field
  • รู้จัก Full Text Query
  • Match Query
  • รู้จัก Relevance Scoring
  • ค้นหาหลาย Field
  • ค้นหาแบบวลี (Phrase)
  • Leaf Query และ Compound Query
  • Query ด้วยตรรกะ Boolean
  • Query Execution Context
  • Boosting Query
  • Disjunction Max (dis_max)
  • Query ข้อมูล Nested Object
  • Nested Inner Hits
  • ข้อจำกัดของ Nested Field
Module 6 Joining Queries
  • รู้จัก Joining Query
  • เพิ่มข้อมูลทดสอบของแผนก (Departments)
  • Mapping ความสัมพันธ์ของ Document
  • เพิ่ม Document
  • Query ตาม Parent ID
  • Query Child Document ตาม Parent
  • Query Parent ตาม Child Document
  • ความสัมพันธ์หลายระดับ
  • Parent/Child Inner Hits
  • กลไก Terms Lookup
  • ข้อจำกัดของการ Join
  • ข้อควรพิจารณาด้านประสิทธิภาพของ Join Field
Module 7 ควบคุมผลลัพธ์ของ Query
  • เรื่องของ Document Type
  • กำหนดรูปแบบผลลัพธ์
  • Source Filtering
  • กำหนดจำนวนผลลัพธ์
  • กำหนด Offset
  • การแบ่งหน้า (Pagination)
  • การเรียงผลลัพธ์
  • การเรียงตาม Field ที่มีหลายค่า
  • การใช้ Filter
Module 8 Aggregations
  • รู้จัก Aggregation
  • Metric Aggregation
  • รู้จัก Bucket Aggregation
  • จำนวน Document เป็นค่าประมาณ
  • Nested Aggregation
  • กรอง Document ออก
  • กำหนดกฎของ Bucket ด้วย Filter
  • Range Aggregation
  • Histogram
  • Global Aggregation
  • ค่าที่หายไปของ Field
  • Aggregate ข้อมูล Nested Object
Module 9 ปรับปรุงผลการค้นหา
  • บทนำของหัวข้อนี้
  • Proximity Search
  • ใช้ Proximity ปรับ Relevance Score
  • Fuzzy Match Query (รองรับการพิมพ์ผิด)
  • Fuzzy Query
  • เพิ่ม Synonym
  • เพิ่ม Synonym จากไฟล์
  • Highlight คำที่ตรงใน Field
  • การทำ Stemming

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

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

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

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

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

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

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

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

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

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

ติดตั้งไลบรารีด้วย pip install elasticsearch แล้วสร้างการเชื่อมต่อด้วยคลาส Elasticsearch พร้อม URL ของคลัสเตอร์และข้อมูลยืนยันตัวตน จากนั้นใช้ es.index ส่ง Dictionary ของ Python เป็นเอกสารเข้า Index ใช้ es.get ดึงเอกสารตาม ID และใช้ es.search พร้อม Query เช่น match สำหรับค้นข้อความ หรือ term สำหรับค่าตรงตัว ถ้าต้องนำเข้าข้อมูลจำนวนมากให้ใช้ helpers.bulk ส่งเป็นชุดแทนการส่งทีละเอกสาร

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

Aggregation ใช้สรุปข้อมูลคล้าย GROUP BY และฟังก์ชันสรุปใน SQL แบ่งเป็นสองกลุ่มหลัก คือ Metric Aggregation ที่คำนวณค่า เช่น avg sum min max และ cardinality และ Bucket Aggregation ที่แบ่งเอกสารเป็นกลุ่ม เช่น terms แบ่งตามค่า range แบ่งตามช่วง และ date_histogram แบ่งตามช่วงเวลา ใส่ซ้อนกันได้ เช่น หายอดขายเฉลี่ยของแต่ละหมวดสินค้าในแต่ละเดือน และผลลัพธ์แบบนี้เองที่ Kibana ใช้สร้างกราฟ

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

เหมาะกับผู้ดูแลระบบ DBA และนักพัฒนา Python ที่ต้องเก็บ ค้นหา และวิเคราะห์ข้อมูลหรือ Log จำนวนมาก ควรมีพื้นฐานการทำเว็บด้วย HTML และ CSS เข้าใจแนวคิดและโครงสร้างของภาษา Python และใช้งาน JSON ได้

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

ติดตั้ง Elasticsearch และ Kibana ทั้งบน Elastic Cloud macOS Linux และ Windows เข้าใจ Shard Replica และ Node จัดการเอกสารด้วย Python ทั้งเพิ่ม แก้ไข ลบ และนำเข้าเป็นชุด กำหนด Mapping และ Analyzer เขียน Query ค้นหาหลายรูปแบบ ควบคุมผลลัพธ์ สรุปข้อมูลด้วย Aggregation และเขียน Log ด้วย Python ไปยัง Elasticsearch ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

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

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกออกแบบ Mapping และ Query กับข้อมูลรูปแบบเดียวกับที่ทีมใช้จริง ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449

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