ใบอนุญาต
ความปลอดภัย
Elasticsearch คือเครื่องมือค้นหาและการวิเคราะห์แบบกระจาย พื้นที่เก็บข้อมูลที่ปรับขนาดได้ และฐานข้อมูลเวกเตอร์ที่ปรับให้เหมาะสมเพื่อความเร็วและความเกี่ยวข้องกับปริมาณงานระดับการผลิต Elasticsearch เป็นรากฐานของแพลตฟอร์ม Stack แบบเปิดของ Elastic ค้นหาในเวลาใกล้เคียงเรียลไทม์บนชุดข้อมูลขนาดใหญ่ ทำการค้นหาเวกเตอร์ ผสานรวมกับแอปพลิเคชัน AI ที่สร้างใหม่ และอื่นๆ อีกมากมาย
กรณีการใช้งานที่เปิดใช้งานโดย Elasticsearch ได้แก่:
การดึงข้อมูล Augmented Generation (RAG)
ค้นหาเวกเตอร์
ค้นหาข้อความแบบเต็ม
บันทึก
เมตริก
การตรวจสอบประสิทธิภาพของแอปพลิเคชัน (APM)
บันทึกการรักษาความปลอดภัย
... และอีกมากมาย!
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติและความสามารถของ Elasticsearch โปรดดูหน้าผลิตภัณฑ์ของเรา
หากต้องการเข้าถึงข้อมูลเกี่ยวกับนวัตกรรมการเรียนรู้ของเครื่องและการมีส่วนร่วมของ Lucene ล่าสุดจาก Elastic คุณสามารถดูข้อมูลเพิ่มเติมได้ใน Search Labs
วิธีที่ง่ายที่สุดในการตั้งค่า Elasticsearch คือการสร้างการปรับใช้งานที่มีการจัดการด้วย Elasticsearch Service บน Elastic Cloud
หากคุณต้องการติดตั้งและจัดการ Elasticsearch ด้วยตัวเอง คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้จาก elastic.co/downloads/elasticsearch
คำเตือน | อย่าใช้คำแนะนำเหล่านี้สำหรับการปรับใช้การผลิต การตั้งค่านี้มีไว้สำหรับการพัฒนาและการทดสอบในท้องถิ่นเท่านั้น |
ตั้งค่า Elasticsearch และ Kibana ใน Docker อย่างรวดเร็วสำหรับการพัฒนาหรือการทดสอบภายในเครื่อง โดยใช้สคริปต์ start-local
ℹ️ สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการตั้ง start-local
โปรดดูที่ README บน GitHub
หากคุณไม่ได้ติดตั้ง Docker ให้ดาวน์โหลดและติดตั้ง Docker Desktop สำหรับระบบปฏิบัติการของคุณ
หากคุณใช้ Microsoft Windows ให้ติดตั้ง Windows Subsystem for Linux (WSL)
การตั้งค่านี้มาพร้อมกับสิทธิ์การใช้งานแบบทดลองใช้หนึ่งเดือนซึ่งรวมถึงฟีเจอร์ Elastic ทั้งหมด
หลังจากช่วงทดลองใช้งาน ใบอนุญาตจะเปลี่ยนกลับเป็น แบบฟรีและแบบเปิด - พื้นฐาน โปรดดูการสมัครสมาชิกแบบยืดหยุ่นสำหรับข้อมูลเพิ่มเติม
start-local
หากต้องการตั้งค่า Elasticsearch และ Kibana ในเครื่อง ให้รันสคริปต์ start-local
:
curl -fsSL https://elastic.co/start-local | ซ
สคริปต์นี้สร้างโฟลเดอร์ elastic-start-local
ที่มีไฟล์การกำหนดค่าและเริ่มทั้ง Elasticsearch และ Kibana โดยใช้ Docker
หลังจากรันสคริปต์ คุณสามารถเข้าถึงบริการ Elastic ได้ที่ตำแหน่งข้อมูลต่อไปนี้:
Elasticsearch : http://localhost:9200
คิบานะ : http://localhost:5601
สคริปต์จะสร้างรหัสผ่านแบบสุ่มสำหรับผู้ใช้ elastic
ซึ่งจะแสดงในตอนท้ายของการติดตั้งและจัดเก็บไว้ในไฟล์ .env
คำเตือน | การตั้งค่านี้มีไว้สำหรับการทดสอบในพื้นที่เท่านั้น HTTPS ถูกปิดใช้งาน และใช้การตรวจสอบสิทธิ์พื้นฐานสำหรับ Elasticsearch เพื่อความปลอดภัย Elasticsearch และ Kibana สามารถเข้าถึงได้ผ่าน |
คีย์ API สำหรับ Elasticsearch ถูกสร้างขึ้นและจัดเก็บไว้ในไฟล์ .env
เป็น ES_LOCAL_API_KEY
ใช้คีย์นี้เพื่อเชื่อมต่อกับ Elasticsearch ด้วยไคลเอนต์ภาษาการเขียนโปรแกรมหรือ REST API
จากโฟลเดอร์ elastic-start-local
ให้ตรวจสอบการเชื่อมต่อกับ Elasticsearch โดยใช้ curl
:
แหล่งที่มา .env curl $ES_LOCAL_URL -H " การอนุญาต: ApiKey ${ES_LOCAL_API_KEY} "
คุณส่งข้อมูลและคำขออื่นๆ ไปยัง Elasticsearch ผ่าน REST API คุณสามารถโต้ตอบกับ Elasticsearch โดยใช้ไคลเอ็นต์ใดๆ ที่ส่งคำขอ HTTP เช่น ไคลเอ็นต์ภาษา Elasticsearch และ Curl
นี่คือตัวอย่างคำสั่ง curl เพื่อสร้างดัชนี Elasticsearch ใหม่ โดยใช้การตรวจสอบสิทธิ์พื้นฐาน:
curl -u ยืดหยุ่น: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' ประเภทเนื้อหา: application/json '
หากต้องการเชื่อมต่อกับคลัสเตอร์ dev Elasticsearch ภายในเครื่องของคุณด้วยไคลเอนต์ภาษา คุณสามารถใช้การรับรองความถูกต้องพื้นฐานด้วยชื่อผู้ elastic
และรหัสผ่านที่คุณตั้งไว้ในตัวแปรสภาพแวดล้อม
คุณจะใช้รายละเอียดการเชื่อมต่อต่อไปนี้:
จุดสิ้นสุด Elasticsearch : http://localhost:9200
ชื่อผู้ใช้ : elastic
รหัสผ่าน : $ELASTIC_PASSWORD
(ค่าที่คุณตั้งไว้ในตัวแปรสภาพแวดล้อม)
ตัวอย่างเช่น หากต้องการเชื่อมต่อกับไคลเอ็นต์ Python elasticsearch
:
นำเข้า ระบบปฏิบัติการ จาก elasticsearch นำเข้า ชื่อผู้ใช้ Elasticsearch = รหัสผ่าน 'elastic' = os getenv ( 'ELASTIC_PASSWORD' ) # ค่าที่คุณตั้งไว้ในตัวแปรสภาพแวดล้อม client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( ชื่อผู้ใช้ , รหัสผ่าน ) ) พิมพ์ ( client .info ())
คอนโซลนักพัฒนาซอฟต์แวร์ของ Kibana มอบวิธีง่ายๆ ในการทดสอบและทดสอบคำขอ หากต้องการเข้าถึงคอนโซล ให้เปิด Kibana จากนั้นไปที่ การจัดการ > เครื่องมือ Dev
เพิ่มข้อมูล
คุณจัดทำดัชนีข้อมูลลงใน Elasticsearch โดยการส่งออบเจ็กต์ JSON (เอกสาร) ผ่าน REST API ไม่ว่าคุณจะมีข้อความที่มีโครงสร้างหรือไม่มีโครงสร้าง ข้อมูลตัวเลข หรือข้อมูลเชิงพื้นที่ Elasticsearch จะจัดเก็บและจัดทำดัชนีอย่างมีประสิทธิภาพในลักษณะที่รองรับการค้นหาที่รวดเร็ว
สำหรับข้อมูลที่ประทับเวลา เช่น บันทึกและหน่วยวัด โดยทั่วไปคุณจะเพิ่มเอกสารลงในสตรีมข้อมูลที่ประกอบด้วยดัชนีสำรองที่สร้างขึ้นโดยอัตโนมัติหลายรายการ
หากต้องการเพิ่มเอกสารเดี่ยวลงในดัชนี ให้ส่งคำขอโพสต์ HTTP ที่กำหนดเป้าหมายดัชนี
POST /customer/_doc/1 { "ชื่อ": "เจนนิเฟอร์", "นามสกุล": "วอลเตอร์ส" }
คำขอนี้จะสร้างดัชนี customer
โดยอัตโนมัติหากไม่มีอยู่ เพิ่มเอกสารใหม่ที่มี ID เป็น 1 และจัดเก็บและจัดทำดัชนีฟิลด์ firstname
และ lastname
เอกสารใหม่พร้อมใช้งานทันทีจากโหนดใดๆ ในคลัสเตอร์ คุณสามารถดึงข้อมูลได้ด้วยคำขอ GET ที่ระบุ ID เอกสาร:
รับ /ลูกค้า/_doc/1
หากต้องการเพิ่มเอกสารหลายรายการในคำขอเดียว ให้ใช้ _bulk
API ข้อมูลจำนวนมากต้องเป็น JSON ที่คั่นด้วยการขึ้นบรรทัดใหม่ (NDJSON) แต่ละบรรทัดจะต้องลงท้ายด้วยอักขระขึ้นบรรทัดใหม่ ( n
) รวมถึงบรรทัดสุดท้ายด้วย
PUT ลูกค้า/_bulk { "สร้าง": { } } { "ชื่อ": "โมนิกา", "นามสกุล": "แรมโบ้"} { "สร้าง": { } } { "ชื่อ": "แครอล", "นามสกุล": "Danvers"} { "create": { } } { "firstname": "Wanda", "lastname": "Maximoff"} { "create": { } } { "firstname": "Jennifer", "นามสกุล": "ทาเคดะ"}
ค้นหา
เอกสารที่จัดทำดัชนีพร้อมสำหรับการค้นหาในเวลาใกล้เคียงเรียลไทม์ การค้นหาต่อไปนี้จะจับคู่ลูกค้าทั้งหมดที่มีชื่อ Jennifer ในดัชนี customer
รับลูกค้า/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
สำรวจ
คุณสามารถใช้ Discover ใน Kibana เพื่อค้นหาและกรองข้อมูลของคุณแบบโต้ตอบได้ จากนั้น คุณสามารถเริ่มสร้างการแสดงภาพและสร้างและแบ่งปันแดชบอร์ดได้
ในการเริ่มต้น ให้สร้าง มุมมองข้อมูล ที่เชื่อมต่อกับดัชนี Elasticsearch สตรีมข้อมูล หรือนามแฝงดัชนีตั้งแต่หนึ่งรายการขึ้นไป
ไปที่ การจัดการ > การจัดการสแต็ก > Kibana > มุมมองข้อมูล
เลือก สร้างมุมมองข้อมูล
ป้อนชื่อสำหรับมุมมองข้อมูลและรูปแบบที่ตรงกับดัชนีตั้งแต่หนึ่งดัชนีขึ้นไป เช่น ลูกค้า
เลือก บันทึกมุมมองข้อมูลไปยัง Kibana
หากต้องการเริ่มสำรวจ ให้ไปที่ Analytics > Discover
หากต้องการอัปเกรดจาก Elasticsearch เวอร์ชันก่อนหน้า โปรดดูเอกสารประกอบการอัปเกรด Elasticsearch
Elasticsearch ใช้ Gradle สำหรับระบบการสร้าง
หากต้องการสร้างการแจกจ่ายสำหรับระบบปฏิบัติการภายในเครื่องของคุณและพิมพ์ตำแหน่งเอาต์พุตเมื่อเสร็จสิ้น ให้รัน:
./gradlew localDistro
หากต้องการสร้างการแจกจ่ายสำหรับแพลตฟอร์มอื่น ให้รันคำสั่งที่เกี่ยวข้อง:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
หากต้องการสร้างการแจกจ่ายสำหรับแพลตฟอร์มที่รองรับทั้งหมด ให้รัน:
./gradlew ประกอบ
การแจกแจงจะส่งออกไปยัง distribution/archives
หากต้องการรันชุดทดสอบ โปรดดูที่ การทดสอบ
หากต้องการดูเอกสารประกอบของ Elasticsearch ฉบับสมบูรณ์ โปรดไปที่ elastic.co
สำหรับข้อมูลเกี่ยวกับกระบวนการเอกสารของเรา โปรดดูเอกสาร README
repo ของ elasticsearch-labs
ประกอบด้วยสมุดบันทึก Python ที่ปฏิบัติการได้ แอปตัวอย่าง และทรัพยากรเพื่อทดสอบ Elasticsearch สำหรับการค้นหาเวกเตอร์ การค้นหาแบบไฮบริด และกรณีการใช้งาน AI เชิงสร้างสรรค์
สำหรับแนวทางการบริจาค โปรดดูที่การบริจาค
หากต้องการรายงานจุดบกพร่องหรือขอคุณสมบัติ ให้สร้างปัญหา GitHub โปรดตรวจสอบให้แน่ใจว่ามีคนอื่นไม่ได้สร้างปัญหาสำหรับหัวข้อเดียวกัน
ต้องการความช่วยเหลือในการใช้ Elasticsearch หรือไม่? ติดต่อ Elastic Forum หรือ Slack สมาชิกในชุมชนหรือวิศวกร Elastic ยินดีที่จะช่วยเหลือคุณ