Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Feature ที่ถูกเอาออกไปจาก Elasticsearch 2.x

$
0
0

Screen Shot 2558-12-18 at 4.11.24 PM

Screen Shot 2558-12-18 at 4.11.24 PM เนื่องจาก 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

6. _Shutdown API ถูกเอาออกไป

7. Bulk API แบบ UDP เอาออกไปแล้ว

ดังนั้นไปใช้ Bulk API ปกตินะ ดังนั้นก่อนจะย้ายไปใช้ Elasticsearch 2.x ก็ควรจะตรวจสอบสิ่งที่ใช้งานก่อนว่าส่งผลกระทบอะไรหรือไม่ ? Reference Websites https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_20_removed_features.html

Viewing all articles
Browse latest Browse all 1997

Trending Articles