10945773_10153061738303588_5699437589794714279_n
วันเสาร์ที่ 24 ถึง วันอาทิตย์ที่ 25 มกราคม 2558 ที่ GeekyBase โดย SRPINT3R
ได้ทำการแบ่งปันใน course Elasticsearch for Developer รุ่นที่ 1
ซึ่งเป็นครั้งแรกที่ได้แบ่งปันเรื่องนี้ถึง 2 วันเต็มๆ
จึงได้ทำการสรุปเรื่องต่างๆ ที่ได้แบ่งปันไว้ที่นี่ล่ะกัน

ในวันแรก

ในช่วงแรกทำการแนะนำเกี่ยวกับ Elasticsearch ว่ามีที่ไปที่มาอย่างไร
สร้างมาเพื่ออะไร
แต่ถ้าจำอะไรไม่ได้ ให้จำสั้นๆ ไว้ว่า
Elasticsearch สร้างมาเพื่อ search + analytic แบบ realtime นะครับ

จากนั้นทำการจัดการข้อมูลใน Elasticsearch ทั้ง ตัว Analyzer และ mapping
และส่วนที่สำคัญมากๆ ก็คือ Search DSL ประกอบไปด้วย

  • Query + Filter
  • Aggregation

ทั้งสองเรื่องนี้หลายๆ คนน่าจะงง และ กระอักเลือดน่าดู !!!
แต่สิ่งที่ต้องการจริงๆ คือ ให้รู้ไว้ว่า Search DSL ของ Elasticsearch
มันทำอะไรได้บ้าง มีความยึดหยุ่นเพียงใด
หลังจากนั้น ทุกๆ คนต้องกลับไปฝึก ศึกษา และ ทดลองเขียนด้วยตนเอง
เพื่อเพิ่มความเชี่ยวชาญ

ตัวอย่างของ Search DSL ที่เขียนกันไป
Screen Shot 2558-01-25 at 8.19.37 PM

ในวันที่สอง

เริ่มด้วยการสรุปเกี่ยวกับ Aggregration อีกสักเล็กน้อย
และลดความเร็วในการสอนลงมาพอสมควร
เพราะว่า ในวันแรกแต่ละคนน่าจะกระอักเลือดกับเรื่องนี้ไปพอควร

จากนั้นแนะนำการใช้งาน Kibana เพื่อนำข้อมูล
มาแสดงผลในรูปแบบ graph
ซึ่งจะใช้งานได้ต้องมีความรู้ความเข้าใจเกี่ยวกับ Aggregation ก่อน
ไม่เช่นนั้น จะใช้งาน Kibana ยากมากๆ

ตัวอย่างของ graph และ dashboard เป็นดังนี้
10644343_10153059961278588_3957889752472765168_o

ต่อมาเริ่มแนะนำเทคนิคในการสร้าง Auto-suggestion ในแบบต่างๆ
ประกอบไปด้วย

  • Completion suggestion
  • N-gram

โดยในหัวข้อนี้เรียกได้ว่าเป็นส่วนที่สนุกสนาน
เพราะว่า มันไม่ได้มีความซ้อนอะไรมาก
ดังนั้น เลือกให้เหมาะสมกับระบบงานกันไป

จากนั้นทำการอธิบายเรื่องของ Elasticsearch Cluster พื้นฐาน
และได้พาทำ workshop สำหรับการสร้าง cluster ในรูปแบบต่างๆ
ซึ่งได้ทำพอให้เห็นพฤติกรรมการทำงานของมัน

และทำการปิดท้ายด้วยการแนะนำ Logstash
เพื่อนำข้อมูลจาก log file เข้าไปเก็บไว้ใน Elasticsearch
แล้วทำการแสดงผลในรูปแบบกราฟสวยๆ ด้วย Kibana ต่อไป
ในเรื่องนี้ก็ให้ทำ workshop กันเล็กน้อย
น่าจะงงๆ กันไป แต่ก็มาเฉลย…

ตัวอย่าง dashboard แบบขำๆ
Screen Shot 2558-01-25 at 8.18.14 PM

หลังจากนั้นได้ทำการพูดคุยเกี่ยวกับ course นิดหน่อย

ก็ได้คำแนะนำมาว่า น่าจะเนื้อหาเพิ่มเติมดังนี้

  • อธิบายเรื่อง Architecture + การ Scaling สัก 1 ชั่วโมงไปเลย => สงสัยผมต้องเปิดอีก course ดีไหมนะ ?
  • อธิบายเกี่ยวกับ Index setting เพิ่ม เช่น การเปลี่ยนแปลงจำนวน shard เป็นต้น
  • เพิ่มเนื้อหาเรื่อง Geo-location => เพิ่มให้เลยครับ อาทิตย์นี้เจอกัน !!

ปล. slide ต่างๆ เพิ่มเสร็จในค่ำวันศุกร์ก่อนสอนเท่านั้นเอง

เจอกันอีกครั้งในวันเสาร์ที่ 31 มกราคม และ วันอาทิตย์ที่ 1 กุมภาพันธ์ 2558 ครับ
Elasticsearch for Developer รุ่นที่ 2