Elasticsearch: เริ่มต้นใช้งานฉบับสมบูรณ์

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 เพื่อแอด

QR Code Line