Elasticsearch: Get Started
Elasticsearch เป็นเครื่องมือค้นหา (Search Engine) แบบโอเพนซอร์สที่ทรงพลังและยืดหยุ่น สร้างขึ้นบน Apache Lucene ออกแบบมาเพื่อจัดเก็บ ค้นหา และวิเคราะห์ข้อมูลจำนวนมากได้อย่างรวดเร็วและมีประสิทธิภาพ บทความนี้จะนำเสนอแนวทางในการเริ่มต้นใช้งาน Elasticsearch ตั้งแต่การติดตั้ง การตั้งค่า ไปจนถึงการใช้งานจริง
การติดตั้ง Elasticsearch
การติดตั้ง Elasticsearch สามารถทำได้หลายวิธี ไม่ว่าจะเป็นการติดตั้งโดยตรงบนระบบปฏิบัติการ การใช้ Docker หรือการใช้บริการคลาวด์ต่างๆ ในบทความนี้จะเน้นไปที่การติดตั้งโดยใช้ Docker Compose ซึ่งเป็นวิธีที่ง่ายและสะดวกที่สุด
การใช้ Docker
Docker เป็นแพลตฟอร์มสำหรับการพัฒนา การส่งมอบ และการรันแอปพลิเคชัน โดยใช้เทคโนโลยีคอนเทนเนอร์ Docker ช่วยให้คุณสามารถบรรจุแอปพลิเคชันและส่วนประกอบต่างๆ ไว้ในคอนเทนเนอร์เดียว ทำให้ง่ายต่อการติดตั้งและใช้งาน
การใช้ Docker Compose
Docker Compose เป็นเครื่องมือที่ใช้ในการกำหนดและรันแอปพลิเคชัน Docker ที่มีหลายคอนเทนเนอร์ โดยใช้ไฟล์ YAML เพื่อกำหนดค่าบริการต่างๆ เช่น Elasticsearch และ Kibana ซึ่งช่วยให้การจัดการและติดตั้ง Elasticsearch เป็นเรื่องง่าย
การดาวน์โหลด
ในการเริ่มต้นใช้งาน Elasticsearch คุณจะต้องดาวน์โหลด Docker และ Docker Compose ก่อน หากคุณยังไม่มี
การติดตั้ง
หลังจากดาวน์โหลด Docker และ Docker Compose แล้ว ให้ทำการติดตั้งตามขั้นตอนที่เหมาะสมกับระบบปฏิบัติการของคุณ
การสร้าง Docker Compose File
สร้างไฟล์ `docker-compose.yml` เพื่อกำหนดค่า Elasticsearch และ Kibana โดยมีตัวอย่างดังนี้:
“`yaml
version: “3.9”
services:
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.13.3
environment:
– discovery.type=single-node
– “ES_JAVA_OPTS=-Xms512m -Xmx512m”
ports:
– “9200:9200”
– “9300:9300”
volumes:
– elasticsearch-data:/usr/share/elasticsearch/data
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:7.13.3
ports:
– “5601:5601”
depends_on:
– elasticsearch
volumes:
elasticsearch-data:
“`
การตั้งค่า Container Name
กำหนด `container_name` สำหรับ Elasticsearch และ Kibana เพื่อให้ง่ายต่อการจัดการคอนเทนเนอร์
การใช้ Docker Hub
Docker Hub เป็นที่เก็บอิมเมจ Docker สาธารณะ คุณสามารถค้นหาและดาวน์โหลดอิมเมจ Elasticsearch และ Kibana ได้จาก Docker Hub
การติดตั้ง Kibana
Kibana เป็นเครื่องมือสำหรับจัดการและแสดงผลข้อมูลใน Elasticsearch คุณสามารถติดตั้ง Kibana ได้โดยใช้ Docker Compose
การตั้งค่า Elasticsearch ใน Kibana
หลังจากติดตั้ง Kibana แล้ว คุณจะต้องตั้งค่าให้เชื่อมต่อกับ Elasticsearch โดยเข้าไปที่ Kibana และระบุ URL ของ Elasticsearch
การใช้งาน REST API
Elasticsearch มี REST API ที่ช่วยให้คุณสามารถโต้ตอบกับ Elasticsearch ได้อย่างง่ายดายผ่าน HTTP requests
การใช้ REST API
REST API ของ Elasticsearch ช่วยให้คุณสามารถสร้าง ดึงข้อมูล อัปเดต และลบข้อมูล (CRUD operations) รวมถึงจัดการ Index และค้นหาข้อมูล
การใช้ cURL
cURL เป็นเครื่องมือ command-line ที่ใช้ในการส่ง HTTP requests คุณสามารถใช้ cURL เพื่อส่งคำขอไปยัง Elasticsearch REST API
การใช้ jq
jq เป็นเครื่องมือ command-line ที่ใช้ในการประมวลผล JSON คุณสามารถใช้ jq เพื่อจัดรูปแบบและกรองผลลัพธ์จาก Elasticsearch REST API
การใช้ Kibana Dashboard
Kibana Dashboard ช่วยให้คุณสามารถสร้างแดชบอร์ดเพื่อแสดงผลข้อมูลจาก Elasticsearch ได้อย่างสวยงามและเข้าใจง่าย
การใช้ Cluster Health API
Cluster Health API ช่วยให้คุณตรวจสอบสถานะของ Elasticsearch cluster ได้
การจัดการ Index และ Document
Index คือที่เก็บข้อมูลใน Elasticsearch และ Document คือข้อมูลแต่ละรายการที่คุณจัดเก็บใน Index
การสร้าง Index
คุณสามารถสร้าง Index โดยใช้ REST API
การใช้ POST Method
ใช้ POST method เพื่อสร้าง Index หรือเพิ่ม Document
การใช้ GET Method
ใช้ GET method เพื่อดึงข้อมูลจาก Index หรือ Document
การใช้ Cat API
Cat API ช่วยให้คุณดูข้อมูลเกี่ยวกับ Elasticsearch cluster ในรูปแบบที่เข้าใจง่าย
การใช้ Headings
Headings ใน Elasticsearch ช่วยให้คุณสามารถจัดกลุ่มและจัดระเบียบข้อมูลได้
การใช้ JSON Format
Elasticsearch ใช้ JSON format ในการจัดเก็บและแลกเปลี่ยนข้อมูล
การใช้ jq
ใช้ jq เพื่อประมวลผล JSON responses จาก Elasticsearch
การเพิ่มข้อมูล (Document)
คุณสามารถเพิ่ม Document ลงใน Index โดยใช้ REST API
การกำหนด ID เอง
คุณสามารถกำหนด ID เองให้กับ Document เมื่อเพิ่มลงใน Index
การใช้ Bulk API
Bulk API ช่วยให้คุณสามารถเพิ่มข้อมูลจำนวนมากได้ในครั้งเดียว ทำให้การเพิ่มข้อมูลมีประสิทธิภาพมากขึ้น
การสร้างไฟล์ .ndjson
สร้างไฟล์ .ndjson เพื่อใช้กับ Bulk API
การใช้ ndjson
ใช้ไฟล์ .ndjson เพื่อเพิ่มข้อมูลจำนวนมากโดยใช้ Bulk API
การวิเคราะห์ข้อมูล (Analysis)
การวิเคราะห์ข้อมูลเป็นกระบวนการในการเตรียมข้อมูลสำหรับการค้นหา
การใช้ Analyzer
Analyzer คือส่วนประกอบที่ใช้ในการวิเคราะห์ข้อความก่อนที่จะถูกจัดเก็บใน Index
การใช้ Standard Analyzer
Standard Analyzer เป็น Analyzer พื้นฐานที่เหมาะสำหรับภาษาอังกฤษ
การใช้ Thai Analyzer
Thai Analyzer เป็น Analyzer ที่ออกแบบมาเพื่อรองรับการค้นหาภาษาไทย
การใช้ OpenSearch
OpenSearch เป็น fork ของ Elasticsearch ที่พัฒนาโดย Amazon
การติดตั้ง OpenSearch
การติดตั้ง OpenSearch คล้ายกับการติดตั้ง Elasticsearch
การเปลี่ยนจาก Elasticsearch เป็น OpenSearch
คุณสามารถเปลี่ยนจาก Elasticsearch เป็น OpenSearch ได้โดยการเปลี่ยน URL และการตั้งค่าต่างๆ
สรุป
- Elasticsearch คือ Search Engine ที่สร้างขึ้นเองได้
- Elasticsearch ใช้ REST API
- Kibana เป็นเครื่องมือสำหรับจัดการ Elasticsearch
- การใช้ Docker Compose ช่วยให้ติดตั้งและจัดการ Elasticsearch ได้ง่าย
- การใช้ Bulk API ช่วยให้เพิ่มข้อมูลจำนวนมากได้รวดเร็ว
- Analyzer ช่วยในการวิเคราะห์และจัดเตรียมข้อมูลสำหรับการค้นหา
- Standard Analyzer เหมาะสำหรับภาษาอังกฤษ
- Thai Analyzer จำเป็นสำหรับการค้นหาภาษาไทย
💬 ปรึกษาการเงินฟรีกับผู้เชี่ยวชาญ คลิกเพื่อแอดไลน์
หรือสแกน QR เพื่อแอด

Leave a Reply