เนื่องจาก Elasticsearch นั้นออก version 2.x มาแล้ว
โดยตอนนี้ถึง 2.1 แล้วนะ รู้ยัง ?
ดังนั้น ถ้าใครยังใช้ 1.x และต้องการจะย้ายมายัง 2.x
จำเป็นต้องรู้ว่ามีการเปลี่ยนแปลงอะไรบ้าง
หนึ่งในนั้นคือ feature ที่ถูกเอาออกไป
มาดูกันว่ามีอะไรบ้าง ?
1. River
จากก่อนหน้านี้คือ 1.7 ได้ทำการแจ้ง deprecated feature นี้ไปแล้ว ดังนั้นใน 2.x จึงเอาออกไปโดยปริยาย ซึ่งถ้าใครยังใช้ river อยู่ก็ต้องคิดให้ดี ๆ2. Facet
เนื่องจาก Facet เป็น API ที่ deprecated มานานแล้ว ซึ่งไม่ได้ทำการพัฒนาต่อเลย เนื่องจากไม่สามารถพัฒนาหรือเพิ่มความสามารถอะไรได้ ตลอดจนเรื่องประสิทธิภาพในการทำงาน ดังนั้น แนะนำให้ไปใช้ Aggregation API แทน ซึ่งมีความสามารถที่ดี มีประสิทธิภาพที่ดี และ ยืดหยุ่นมาก ๆ จากการใช้งาน Elasticsearch มายังไม่เคยใช้งาน Facet เลย ยกเว้นคนที่เคยชินกับการใช้ Facet จาก Apache Solr เท่านั้น3. MVEL เป็น default scripting language
ทำการเปลี่ยนเป็นภาษา Groovy แทนแล้ว4. Delete by query กลายเป็น plugin
สำหรับใครที่เขียน Query DSL สำหรับลบข้อมูล ตอนนี้ทำไม่ได้แล้ว เนื่องจากได้ลบ feature ออกไปแล้ว เนื่องจากเป็น feature ที่ส่งผลต่อการทำงาน เช่น out of memory และ ทำให้ Elasticsearch พังได้ แต่ถ้าต้องการใช้ ก็สามารถใช้ได้ ด้วยการติดตั้ง plugin แทน สรุปคือเปลี่ยนไปเป็น plugin แทนนะ5. Multicast dicovery กลายเป็น plugin
Elastic search 2.x นั้นใช้ unicast เป็นค่า default ส่วน multicast ถูกเอาออกไปเป็น plugin แทน มีสาเหตุมาจาก- Linux ไม่อนุญาตให้ทำงานแบบ multicast บน localhost
- บาง network ไม่อนุญาตการทำงานแบบ multicast