מה זה Elasticsearch ? ואיך להתקין אלסטיקסרץ בשרת לינוקס

22/06/2022
מה זה Elasticsearch ? ואיך להתקין אלסטיקסרץ בשרת לינוקס13 דקות זמן קריאה
מה זה Elasticsearch ? ואיך להתקין אלסטיקסרץ בשרת לינוקס

אלסטיקסרץ' (באנגלית: Elasticsearch) הוא מנוע חיפוש וניתוח מבוזר, חינמי בקוד פתוח המשמש עבור כל סוגי הנתונים, כולל טקסטואלי, מספרי, גיאו-מרחבי, מובנה ובלתי מובנה. Elasticsearch בנוי על Apache Lucene והושק לראשונה על ידי Elasticsearch N.V בשנת 2010 למניינם. (הידוע כיום בשם Elastic). Elasticsearch, ידוע בזכות ממשקי API הפשוטים של REST, האופי המבוזר, המהירות והמדרגיות שלו, הוא המרכיב המרכזי של Elastic Stack, קבוצה של כלים חינמיים ופתוחים להטמעת נתונים, העשרה, אחסון, ניתוח והדמיה. המכונה בדרך כלל ELK Stack (על שם Elasticsearch, Logstash ו-Kibana), ה- Elastic Stack כולל כעת אוסף עשיר של סוכני שילוח קלים הידועים בשם Beats לשליחת נתונים אל Elasticsearch.

 

עבור מה משמש  Elasticsearch?

המהירות והמדרגיות של Elasticsearch והיכולת לאנדקס סוגים רבים של תוכן, גורמים לכך שניתן להשתמש בו למספר רב של מקרים, כגון:

  • חיפוש יישומים
  • חיפוש באתר
  • חיפוש ארגוני
  • רישום וניתוח יומנים
  • מדדי תשתית וניטור מכולות
  • ניטור ביצועי אפליקציה
  • ניתוח והדמיה של נתונים גיאו-מרחביים
  • ניתוח אבטחה
  • ניתוח עסקי

 

האם Elasticsearch מסופק בחינם ?

כן, התכונות החינמיות והפתוחות של Elasticsearch הן בחינם לשימוש תחת SSPL או רישיון Elastic. תכונות חינמיות נוספות זמינות תחת הרישיון Elastic, ומינויים בתשלום מקבלים תכונות מתקדמות כגון התראה ולמידת מכונה וכן גישה לתמיכה.

 

באילו שפות תכנות תומך Elasticsearch ?

Elasticsearch תומך במגוון שפות, להלן:

  • Java
  • JavaScript (Node.js)
  • Go
  • .NET (C#)
  • PHP
  • Perl
  • Python
  • Ruby

 

באילו שפות טקסט תומך  Elasticsearch?

Elasticsearch תומך ב-34 שפות טקסט, ומספק מנתחים לכל אחת מהן. את הרשימה המלאה ניתן למצוא בתיעוד Elasticsearch Language Analyzer. ניתן להוסיף תמיכה בשפות נוספות באמצעות תוספים מותאמים אישית.

 

האם Elasticsearch מספק  API?

כן, Elasticsearch מספק מערך מקיף ורב עוצמה של ממשקי API של REST לביצוע משימות כמו בדיקת תקינות האשכולות, ביצוע CRUD (יצירה, קריאה, עדכון ומחיקה) ופעולות חיפוש מול מדדים, וביצוע פעולות חיפוש מתקדמות כגון סינון וצבירה.

 

 

כיצד להתקין ElasticSearch בשרת לינוקס ?

התחברו לשרת הוירטואלי שלכם דרך SSH והריצו את הפקודות הבאות:

 

שלב 1: [התקנת JAVA]

ראשית עליכם להתקין JAVA בשרת (במידה ומותקן ניתן לדלג לשלב הבא):

# yum install java

בדיקת גרסת JAVA:

# java -version

פלט לדוגמה

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

 

 


 

 

שלב 2 - [הורדה והתקנה ל- elasticsearch]

 

# rpm --import rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

 

ניצור קובץ בשם 'elasticsearch.repo' בעזרת הפקודה:

# nano /etc/yum.repos.d/elasticsearch.repo

ונעתיק לתוכו את הטקסט הבא

[elasticsearch-7.x]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

כעת, נתקין את elasticsearch בעזרת הפקודה

# yum install elasticsearch -y

נפעיל באמצעות הפקודות

# systemctl enable elasticsearch.service

# systemctl start elasticsearch.service

 

 


 

 

שלב 3: [בדיקה שהכל עובד]

# curl localhost:9200

פלט לדוגמה

{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "8.1.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "1.2.3",
"minimum_index_compatibility_version" : "1.2.3"
},
"tagline" : "You Know, for Search"
}