Screen Shot 2558-11-01 at 5.16.01 PM
หลังจากที่ Elasticsearch 2.0 ถูกปล่อยออกมา
ก็ทำการปล่อย product ต่าง ๆ ที่เกี่ยวข้องออกมามากมาย
ไม่ว่าจะเป็น

  • Kibana 4.2
  • Marvel 2.0
  • Shield 2.0
  • Watcher 2.0
  • Log stash 2.0

เพื่อสนับสนุน Elasticsearch 2.0 นั่นเอง
ดังนั้น เรามาดูกันหน่อยว่าใน version นี้มีอะไรใหม่ ๆ
รวมทั้งทำการปรับปรุงอะไรกันบ้าง ?

ความสามารถใหม่ ๆ มีอะไรบ้าง ?

เริ่มต้นจากเปลี่ยน Apache Lucene จาก 4.10.4 มาเป็น 5.2.1
ซึ่งทำการเปลี่ยนแปลง ปรับปรุง เพื่อให้ประสิทธิภาพดีขึ้นอย่างมาก
ทั้งเรื่องของการใช้งาน memory ที่น้อยลง
ทั้งเรื่องของการจัดเก็บ index ที่น้อยลง
เนื่องจากปรับปรุงการบีบอัดข้อมูล
รวมทั้งการดึงข้อมูล และ caching อีกด้วย

Screen Shot 2558-11-01 at 4.05.22 PM

ยังไม่พอนะ
ยังปรับปรุง Aggregation API อีกด้วย
นั่นคือ Pipeline aggregation ซึ่งส่งผลให้การทำงานเร็วขึ้นอย่างมาก
จะนำมาอธิบายใน blog ต่อ ๆ ไปนะ

จากการเปลี่ยนแปลงที่มากมายนี่เอง
ทำให้ถ้าใครจะ migrate ข้อมูลจาก version เก่ามานั้น
ต้องใช้งานผ่าน Elasticsearch migration plugin

ปล. ถ้าใครใช้ elasticsearch ต่ำกว่า 0.9 ลงไปแล้ว
ใน 2.0 จะอ่านข้อมูลไม่ได้ ดังนั้นต้อง upgrade ไปใช้ 1.x ก่อนนะ
จึงจะทำการ migrate มาจาก 2.0 !!

ซึ่งทำการติดตั้งด้วยคำสั่ง
$plugin -i elastic/elasticsearch-migration

ในมุมมองของทีมพัฒนาบ้างสิ

มี committer จำนวน 477 คน
มีการส่ง pull request ประมาณ 2,800 pull request
มี pull request ที่อยู่ใน Elasticsearch 2.0 จำนวน 800 pull request
นั่นหมายความว่ายังมี feature อีกจำนวนมากที่ยังไม่ถูกนำมาพัฒนา !!!
โลกของ opensource มันสนุกแบบนี้นี่เอง
ทีมพัฒนาก็ขยันปล่อยของกันเหลือเกิน

ส่วนการปรับปรุงความสามารถอื่น ๆ ก็มีเยอะเช่นกัน

ไม่ว่าจะเป็นการจัดการเรื่องความปลอยภัย
ไม่ว่าจะเป็นการ sync data ข้อมูลระหว่าง node
ไม่ว่าจะเป็นเรื่องความถูกต้องของข้อมูลในแต่ละ index
ไม่ว่าจะเป็นเรื่องของ Java Security Manager
ไม่ว่าจะเป็นรูปแบบการเชื่อมต่อระหว่าง node เป็นแบบ Unicast แล้ว
ส่วน multicast นั้นถูกเอาออกไปแล้ว
กลายเป็น plugin ไปแล้ว ถ้าอยากได้ก็ติดตั้งเอาเอง

ข่าวดีมาก ๆ สำหรับผู้ใช้งาน Elasticsearch 2.0 คือ

ทาง elastic นั้นเปิดให้เราใช้ Marvel 2.0 บน production server กันแบบฟรี ๆ แล้ว
แต่ถ้าต้องการ monitoring ข้อมูลแบบ multi-cluster
จะต้องไปใช้ commercial version นะ

โดย Marvel 2.0 นี้ถูกเขียนขึ้นมาใหม่ทั้งหมด
ซึ่งทำงานอยู่บน Kibana 4.2.0 นั่นเอง
สามารถติดตั้งได้ดังนี้

#elasticsearch plugin
$plugin install license
$plugin install marvel-agent


#kibana plugin
$kibana plugin --install elasticsearch/marvel/latest

จากนั้นทำการ start kibana​ ซะ
แล้วเข้าไปใช้ Marvel ผ่าน browser ที่ URL http://localhost:5601/app/marvel

Screen Shot 2558-11-01 at 5.06.05 PM

ยังไม่พอนะ Sense editor ก็เปิด open source แล้วเช่นกัน

ซึ่งเป็น editor ที่ช่วยให้เราเขียน Query DSL ได้ง่ายยิ่งขึ้น
แถมใน Sense 2.0 นั้น สามารถส่ง request แบบ multiple ได้ด้วยนะ
นั่นคือ สามารถ run หลาย ๆ คำสั่งพร้อมกันได้

โดยสามารถติดตั้ง Sense บน kibana ด้วยคำสั่ง

$kibana plugin --install elastic/sense

จากนั้นทำการ start kibana​ ซะ
แล้วเข้าไปใช้ Sense ผ่าน browser ที่ URL http://localhost:5601/app/sense

Screen Shot 2558-11-01 at 4.51.28 PM

เพียงเท่านี้ก่อนก็แล้วกันสำหรับ Elasticsearch 2.0
สิ่งที่เปลี่ยนแปลงมันเยอะจริง ๆ
ดูเพิ่มเติมได้ที่ Release Note นะครับ