Monday, November 9, 2015

Elasticsearch 

Elasticsearch нь Apache Lucene дээр суурилсан бүтэн үгээр хайдаг хайлтын систем юм.  Жава хэл дээр хөгжүүлэгдсэн бөгөөд Apache лицэнзийн доор нээлттэй эх болон гарсан. Elasticsearch нь хоёр дахь хамгийн их ашиглагддаг хайлтын хэрэгсэл юм.
     Үүссэн түүхээс нь товчхон дурьдвал Compass хайлтын хэрэгслийг бүтээсэн 
Shay Banon гэж нөхөр уг хайлтын хэрэгслийнхээ дараагийн хувилбарыг хийх гэж байхдаа илүү уян хатан HTTP-р JSON дамжуулдаг жава-с өөр хэл дээр хэрэглэх боломжтой байх хэрэгтэй гэж бодсоны үндсэн дээр 2010 онд Elasticsearch-н анхны хувилбарыг гаргажээ. Анхны хувилбараа гаргаад удаагүй байгаа хэдий ч маш олон хэрэглэгчтэй болж чадсан хүчирхэг хайлтын хэрэгсэл юм.

Яагаад Elasticsearch-г ашиглах хэрэгтэй гэж?

Хэрвээ шинэ бүтээгдэхүүн шинэ технологи ашиглаж эхэлж байгаа бол хамгийн түрүүнд "би яагаад үүнийг ашиглах хэрэгтэй гэж" гэдэг асуултанд хариулж чаддаг хэрэгтэй байх. Яагаад Elasticsearch гэдэг асуултанд хариулах цөөн хэдэн шалтгааныг хэлье. Хамгийн түрүүнд elasticsearch нь ашиглахад солиотой амархан мөн  дэндүү бүүр дэндүү хурдан. JSON document-уудыг индекслэж хадгалсаны дараа ямар ч тохиргоо хийлгүйгээр query бэлдэж тэднийг авч чадна. Өөр бас нэг шалтгаан нь elasticsearch нь Schema-less бөгөөд ингэснээр өөрийн гэсэн mapping (document-үүдийг хэрхэн хадгалагдаж индекслэгдэх болон field нь ямар утга авах гэх мэт зүйлүүдыг тодорхойлдог процесс) тодорхойлоогүй default-аараа өгөгдлийг маш аятайханаар индекслэж өгдөг. Document хадгалахдаа Index API ашиглаж http-р put хүсэлт явуулна. Document-үүдийг id-р нь авахдаа Get API хайхдаа Search API гэх мэт ашиглана. Elasticsearch нь мөн cluster байдлаар ажилладаг бөгөөд үүнийг тохируулахад маш амархан. Хэрвээ та олон сервэртэй бөгөөд сервэр бүр дээрээ нэг elasticsearch суулган тэднийгээ нэг cluster байдлаар ажиллуулахыг хүсвэл elasticsearch.yml файл дээр нэг ижил cluster-name зааж өгч нэгийг нь мастер бусдийг нь data байдлаар ажиллуулахаар тохиргооны файл дээр зааж өгөхөд хангалттай. 

No comments:

Post a Comment