Screen Shot 2558-08-10 at 9.31.04 AM
ในวันอาทิตย์ที่ 9 สิงหาคม ได้ทำการแบ่งปันเรื่อง Elasticsearch + Kibana แบบสั้นๆ
ซึ่งใช้เวลาประมาณ 5-6 ชั่วโมง
เป้าหมายเพื่อแบ่งปันความรู้ให้กับน้อง ๆ ในทีม
จึงถือโอกาสนี้ เปิดให้คนอื่น ๆ ที่สนใจด้วยก็แล้วกัน
มาดูว่า มีอะไรที่ได้แบ่งปันไปกันบ้าง ?

เนื้อหาประกอบไปด้วย

  • การติดตั้งเบื้องต้น
  • การ configuration เบื้องต้นที่ควรต้องรู้ เช่น กำหนดชื่อ node และ cluster
  • การติดตั้ง plugin ที่เป็นประโยชน์ สำหรับการเริ่มต้น เช่น marvel และ head
  • ทำความรู้ความเข้าใจเกี่ยวกับ elasticsearch
  • ทำการใช้งาน Query DSL
  • ทำการติดตั้ง และ ใช้งาน Kibana เครื่องมือสำหรับ visualize ข้อมูลที่เก็บใน elasticsearch

โดยสิ่งที่เน้นมาก ๆ สำหรับการแบ่งปันครั้งนี้คือ Query DSL ประกอบไปด้วย

1. Query API + Filter API

ครั้งนี้เน้นอธิบายเกี่ยวกับการ query และ filter ใน elasticsearch ว่าแตกต่างกันอย่างไร ?
โดยจะเน้นว่า

Filter first, Query later

 Filter นั้นมันจะทำงาน

  • True หรือ False นั่นคือใช่หรือไม่ใช่เท่านั้น
  • ทำการเปรียบเทียบแบบ exact value เท่านั้น
  • สามารถ caching result ได้
  • ดังนั้นจึงทำงานได้รวดเร็วมาก

ส่วน Query นั้นมันจะทำงาน

  • จะเกี่ยวข้องกับ relevant หรือ similarity หรือ ค่าความเหมือน ซึ่งจะสรุปออกมาในค่าของ score หรือ คะแนน
  • ใช้เกี่ยวกับ full-text search เช่นข้อมูลที่เป็น string หรือ ข้อความ
  • ไม่สามารถ caching result ได้
  • ดังนั้นจึงทำงานได้ช้าลง

ในครั้งนี้มีตัวอย่าง และ ให้ทุก ๆ คนได้ลงมือเขียน query เองแบบ step-by-step
ซึ่งน่าจะทำให้เข้าใจกันบ้างนะ

2. Aggregation API

เป็น feature ที่คนใช้งาน elasticsearch ควรต้องเข้าใจ และเขียนเป็น
สำหรับการวิเคราะห์ข้อมูลในรูปแบบต่าง
ซึ่งมี 2 คำที่ต้องทำความเข้าใจ คือ

  1. Bucket คือ การแบ่งกลุ่มข้อมูล เช่น การแบ่งตาม category เป็นต้น
  2. Metric คือ ตัววัดของแต่ละกลุ่ม เช่น count, sum, average, min และ max เป็นต้น

Slide หลักของการแบ่งปันครั้งนี้อยู่ที่ slideshare นะครับ

ปิดท้ายด้วย การนำ Kibana มาใช้งาน

ก็น่าจะพอทำให้เห็นว่า
elasticsearch นั้นเราสามารถ
เริ่มต้นเรียนรู้ และ การนำมาใช้งานเบื้องต้นอย่างไร
เรียนรู้และเข้าใจเกี่ยวกับ Query DSL

ลองนำไปใช้งานกันดูครับ สำหรับ elasticsearch
แล้วเจอกันในครั้งหน้ากับ Elasticsearch for Developer v. 2 ครับ

ขอขอบคุณทุกคนครับ ผมสนุกสนานมากมาย …