What is Elasticsearch?

REST HTTP JSON distributed search analytics real-time scalable open-source Lucene ---- Honza Král

Elasticsearch คืออะไร

Elasticsearch คือ Distributed Data Store ตัวหนึ่งที่พัฒนาต่อยอดมาจาก Apache Lucene มีจุดเด่นในเรื่องความสามารถของการ search แบบเป็น distributed search ที่ทุกๆ filed ของข้อมูลที่เก็บจะถูกทำ index ไว้ ทำให้ความเร็วในการ search กับข้อมูลขนาดมหาศาลแบบ Near Real-time สามารถสรุปข้อมูลขนาดใหญ่ได้อย่างรวดเร็ว และการติดต่อกับส่วน data store สามารถทำได้โดยผ่าน RESTful API ซึ่งทำให้การอ่านเขียนข้อมูลกับตัว Elasticsearch ทำได้ง่ายมาก

ทำไมเราถึงควรเลือกใช้ Elasticsearch?

1. ทำงานได้รวดเร็ว

Elasticsearch มีการทำ index ข้อมูลไว้ในทุกๆ field ข้อมูล ทำให้ค้นหาและสรุปข้อมูลข้อมูลขนาดใหญ่ได้อย่างรวดเร็วใกล้เคียงกับการเข้าถึงข้อมูลแบบ Near Real-time ซึ่งช่วยให้คุณใช้ ElasticSearch ได้ในกรณีใช้งานต่างๆ เช่น การติดตามแอปพลิเคชัน และการตรวจหาสิ่งผิดปกติ การมอนิเตอร์

2. เก็บข้อมูลแบบในรูปแบบ JSON Document

Elasticsearch เลือกใช้การเก็บข้อมูลในรูปแบบ JSON (JavaScript Object Notation) ซึ่งเป็นรูปแบบมาตรฐานข้อมูลที่ใช้งานได้ง่าย รับส่งข้อมูลได้หลากหลายแพลตฟอร์ม และไม่มี schema ช่วยให้เริ่มต้นใช้งานและสร้างแอปพลิเคชันในกรณีใช้งานต่างๆ ได้ง่ายและรวดเร็ว

Schema คือโครงสร้างข้อมูลหรือนิยามข้อมูล รวมถึงความสัมพันธ์ของข้อมูลในแต่ละ Entity ว่ามีความสัมพันธ์กันอย่างไร

ตัวอย่าง เช่น ถ้าเรามีตารางข้อมูลของดังนี้

ID

Name

Age

1

ilog

26

โครงสร้างข้อมูล (Schema) ของนักศึกษา คือ

ID

Name

Age

Schema เปรียบเสมือนหัวข้อของตาราง

3. พัฒนาแอปพลิเคชันได้หลากหลาย

ElasticSearch รองรับภาษาต่างๆ รวมถึง Java, Python, PHP, JavaScript, Node.js, Ruby และอื่นๆ

4. ใช้งานผ่าน HTTP API

ElasticSearch มี REST API ที่ไม่ซับซ้อน อินเทอร์เฟซ HTTP ที่ไม่ซับซ้อน

Last updated