From de0550899cf21944d88cd3b0b31bd88f8fa7bb70 Mon Sep 17 00:00:00 2001 From: LinJingYun Date: Mon, 23 Dec 2019 17:51:45 +0700 Subject: [PATCH] =?UTF-8?q?[ADD]=20Elasticsearch=20=E0=B8=81=E0=B8=B2?= =?UTF-8?q?=E0=B8=A3=E0=B9=83=E0=B8=8A=E0=B9=89=E0=B8=87=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=20index?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Elasticsearch/EventIndex(Real Usage).es | 26 +++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Elasticsearch/EventIndex(Real Usage).es b/Elasticsearch/EventIndex(Real Usage).es index 2e697c6..3ea6340 100644 --- a/Elasticsearch/EventIndex(Real Usage).es +++ b/Elasticsearch/EventIndex(Real Usage).es @@ -1,4 +1,23 @@ -1) สร้างตัว Analyzer ไว้เป็นฐานในการค้นหาคำก่อน +1) Elasticsearch นั้นไม่สามารถ Remapping fields ที่เคยสร้างไปแล้วดังนั้นจึงมีความจำเป็นที่ copy ข้อมูล +จาก Index เดิมไปที่ Index ใหม่และเก็บเป็น index ชั่วคราวไว้คือ meetu.events_backup +POST _reindex +{ + "source": { + "index": "meetu.events" + }, + "dest": { + "index": "meetu.events_backup" + } +} + +2)เมื่อเรามี index ชั่วคราวคือ meetu.events_backup แล้วเราก็จะทำการลบ index เดิม meetu.events ซึ่งไม่สามารถใช้งานได้ +เพราะอย่างที่ได้กล่าวไป elasticsearch ไม่สามารถแก้ไข fields ที่ทำการ Mapping ไปแล้ว +DELETE /meetu.events + +*** ต้องผ่านขั้นตอน 1) และ 2) ตามลำดับ จากนั้นจึงเริ่มขั้นตอนที่ 3) +3) ก่อนที่เราจะทำการใช้ logstash parsing ข้อมูลจาก index meetu.events_backup ไปยัง index เดิมคือ meetu.events +ให้เราทำการสร้าง analyzer ประจำ index meetu.events ขึ้นมาใหม่และทำการใช้ request ที่ 4) +สร้างตัว Analyzer ไว้เป็นฐานในการค้นหาคำก่อน PUT /meetu.events { "settings": { @@ -28,7 +47,10 @@ PUT /meetu.events } } -2) นำ Analyzer ที่เรา custom ขึ้นมาเองชื่อว่า thai_analyzer มาใช้กับ index ของเรา +** ต้องทำขั้นตอนที่ 1) 2) 3) และขั้นตอนที่ 4) ให้สำเร็จจากนั้นค่อยใช้ logstash parsing ข้อมูลเป็นขั้นสุดท้าย +4) นำ Analyzer ที่เรา custom ขึ้นมาเองชื่อว่า thai_analyzer มาใช้กับ index ของเราเพื่อให้ Elasticticsearch มี +Analyzer ประจำ field ของตนและพร้อมที่จะทำการนำข้อมูลที่ backup ไว้จาก index meetu.events_backup กลับมาเข้าสู่ +index meetu.events ซึ่งเป็น index จริงๆที่เราต้องการใช้นั่นเอง POST /meetu.events/_mapping {