วิธีกำหนดค่า Elasticsearch ใน Magento 2
เผยแพร่แล้ว: 2022-12-20สารบัญ
แพลตฟอร์ม Magento ได้เปิดโอกาสที่ดีสำหรับเจ้าของธุรกิจในการเปิดตัวร้านค้าของตนโดยมีข้อจำกัดน้อยลงและมีความยืดหยุ่นมากขึ้น อาจมีสินค้าหลายพันรายการภายใต้หลายหมวดหมู่และหมวดหมู่ย่อยในร้านค้าหนึ่งๆ และโดยปกติแล้ว เวลาที่ลูกค้าใช้ในการค้นหาสินค้ามักจะเป็นเวลาสั้นๆ ดังนั้น ร้าน Magento ของคุณอาจประสบกับการแปลงที่ลดลง หากคุณไม่สามารถมอบประสบการณ์การค้นหาที่ง่ายดายและผลการค้นหาตามเวลาจริงที่เป็นประโยชน์แก่ลูกค้าได้ นั่นคือเหตุผลที่คุณต้องการเครื่องมือค้นหาที่ทรงพลัง และ Magento 2 Elasticsearch เข้ามาช่วยเหลือ
Elasticsearch ใน Magento 2 คืออะไร
จากข้อมูลของ Elasticsearch BV นั้น Elasticsearch เป็นเครื่องมือค้นหาและการวิเคราะห์แบบกระจาย ฟรี และเปิดสำหรับข้อมูลทุกประเภท รวมถึงข้อความ ตัวเลข ภูมิสารสนเทศ มีโครงสร้าง และไม่มีโครงสร้าง
เปิดตัวครั้งแรกในปี 2010 Elasticsearch สร้างขึ้นจากไลบรารีการค้นหาและการจัดทำดัชนีบน Java ที่เรียกว่า Apache Lucene เป็นเครื่องมือค้นหาข้อความแบบเต็มที่แนะนำคำหลักที่เกี่ยวข้องและแสดงข้อความค้นหาทั้งหมดโดยการเปรียบเทียบคำภายในเอกสารหรือฐานข้อมูล นอกจากนี้ โมเดลแบบกระจายและการเปิดกว้างสำหรับข้อมูลทุกประเภททำให้ค้นหาได้อย่างรวดเร็วและปรับขนาดได้ง่าย
เนื่องจากความสามารถเหล่านี้ จึงมีการใช้ Elasticsearch ในการค้นหาแอปพลิเคชัน ค้นหาเว็บไซต์ การค้นหาองค์กร การบันทึกและการวิเคราะห์บันทึก การตรวจสอบประสิทธิภาพของแอปพลิเคชัน การวิเคราะห์และการแสดงข้อมูลภูมิสารสนเทศ การวิเคราะห์ธุรกิจ ฯลฯ
ตั้งแต่ Magento 2.4, Adobe Commerce หรือ Magento กำหนดให้ Elasticsearch เป็นเครื่องมือค้นหาแคตตาล็อกเริ่มต้น ดังนั้นจึงกลายเป็นองค์ประกอบบังคับ และไม่สามารถปิดใช้งานได้เมื่อติดตั้ง Magento Elasticsearch ช่วยให้ลูกค้าได้รับผลการค้นหาที่รวดเร็วขึ้นและมีความเกี่ยวข้องมากขึ้นในแบบเรียลไทม์ ซึ่งจะเพิ่มอัตราการแปลงทางธุรกิจ นี่เป็นประโยชน์อย่างมากสำหรับทั้งลูกค้าและเจ้าของร้าน Magento 2
Elasticsearch ทำงานอย่างไร
สิ่งที่ทำให้ Elasticsearch สามารถแสดงผลการค้นหาที่รวดเร็วและเชื่อถือได้คือความสามารถในการจัดทำดัชนี ซึ่งจะมองหาดัชนีมากกว่าการตรวจสอบข้อความ ดัชนียืดหยุ่นคือกลุ่มของเอกสารที่มีโครงสร้างคล้ายกัน ซึ่งช่วยให้สามารถดึงข้อมูลได้อย่างรวดเร็วและมีประสิทธิภาพ และใช้เพื่อจัดเก็บเอกสารที่เกี่ยวข้องกันในเชิงตรรกะ
เมื่อข้อมูลดิบไหลเข้าสู่ Elasticsearch จากแหล่งที่มาต่างๆ เช่น บันทึก เมตริกของระบบ และเว็บแอปพลิเคชัน Elasticsearch จะประมวลผลข้อมูลนั้น จากนั้นจะทำดัชนีข้อมูลนี้ และหลังจากนั้น ผู้ใช้อาจดำเนินการค้นหาข้อมูลที่ซับซ้อนและรับข้อมูลสรุปโดยละเอียดโดยใช้การรวม (อีลาสติก.โค)
คุณสมบัติที่ สำคัญ บางประการของ Elasticsearch :
- ค้นหาข้อความด่วน
- ค้นหาคำแนะนำ
- เติมข้อความอัตโนมัติ
- การตรวจสอบการสะกด/พิมพ์ผิดและการตรวจจับคำหยุด
- การบันทึกและการวิเคราะห์
- ค้นหาตำแหน่งทางภูมิศาสตร์
ประโยชน์ของ Magento 2 Elasticsearch
ประสบการณ์การค้นหาที่ยอดเยี่ยม
เวลาตอบสนองที่ช้าและการทำงานที่ไม่ดีของเครื่องมือค้นหาอาจทำให้อัตราตีกลับสูงได้ ด้วยการสร้างผลลัพธ์ที่รวดเร็วของ Elasticsearch และผลลัพธ์ที่เกี่ยวข้องแบบเรียลไทม์ ลูกค้าจะไม่ท้อแท้และออกจากไซต์
และด้วยการเติมข้อความอัตโนมัติและการแนะนำอัตโนมัติ ลูกค้าสามารถประหยัดเวลาและความพยายามได้มาก รวมทั้งลดคำถามที่ไม่ถูกต้อง
นอกจากนี้ สิ่งที่น่ารำคาญอย่างหนึ่งที่ผู้ค้นหามักพบคือการพิมพ์ผิดหรือสะกดผิด สิ่งนี้ทำให้เครื่องมือค้นหาไม่รู้จักคำหลักและแสดงสถานะ "ไม่พบผลลัพธ์" Elasticsearch สามารถค้นหาคำหยุดและวลีที่ตรงกับคำเหล่านั้น ดังนั้นจึงยังสามารถให้ผลลัพธ์ที่เกี่ยวข้องกันและทำให้คำเหล่านั้นแม่นยำยิ่งขึ้น
ค้นหาอย่างรวดเร็ว
Elasticsearch เป็นเครื่องมืออันทรงพลังที่สามารถดึงคำหลักที่ค้นหาได้ภายใน 10 วินาที ซึ่งเร็วกว่าการค้นหาแบบ SQL ทั่วไปมาก เนื่องจากสร้างขึ้นบน Lucene และใช้ดัชนีกลับด้านแบบกระจาย ทำให้ Elasticsearch ทำงานได้ดีเป็นพิเศษในการค้นหาข้อความแบบเต็ม ElasticSearch สามารถจับคำค้นหาทั้งหมดสำหรับชุดผลลัพธ์ ดังนั้นทุกครั้งที่คำค้นหามีตัวกรองแคช ระบบจะนำการค้นหาผลลัพธ์จากแคช ซึ่งหมายความว่าเวลาระหว่างที่เอกสารได้รับการจัดทำดัชนีจนถึงเวลาที่ค้นหาได้นั้นค่อนข้างสั้น ซึ่งจะเป็นการเพิ่มการตอบสนองของผลการค้นหา
ความสามารถในการปรับขนาดสูงและการจัดการข้อมูลจำนวนมาก
Elasticsearch ขึ้นอยู่กับสถาปัตยกรรมแบบกระจาย บริษัทระบุว่า “เอกสารที่จัดเก็บใน Elasticsearch จะถูกกระจายไปตามคอนเทนเนอร์ต่างๆ ที่เรียกว่า shards ซึ่งจะทำซ้ำเพื่อให้สำเนาข้อมูลที่ซ้ำซ้อนในกรณีที่ฮาร์ดแวร์ล้มเหลว” ดังนั้นธรรมชาติของมันจึงช่วยให้ปรับขนาดเซิร์ฟเวอร์ได้มากถึงหลายพันเครื่องและจัดการข้อมูลจำนวนมหาศาลได้
ยิ่งไปกว่านั้น มันถูกสร้างขึ้นในลักษณะที่สามารถดำเนินการได้สำเร็จบนคลัสเตอร์หรือระบบใด ๆ ที่มีโหนดจำนวนมาก ด้วยเหตุนี้ การขยายจากคลัสเตอร์ขนาดเล็กเพียงคลัสเตอร์เดียวไปสู่คลัสเตอร์ที่ใหญ่ขึ้นจึงต้องการการเตรียมการเพียงเล็กน้อยและใช้งานได้จริงอย่างราบรื่น
ไม่มีสคีมา
Elasticsearch ใช้ JSON ซึ่งก็คือ JavaScript Object Notation มันจัดเก็บเอกสาร JSON พร้อมข้อมูลการทำดัชนีเพื่อตรวจจับโครงสร้างข้อมูลและทำให้สามารถค้นหาได้ หมายความว่าไม่ต้องการคำจำกัดความของข้อมูลใดๆ และโดยปกติจะใช้ค่าเริ่มต้นในการจัดทำดัชนีข้อมูล เว้นแต่จะมีการระบุประเภทข้อมูลเฉพาะ เมื่อออบเจกต์ที่มีคุณสมบัติใหม่ถูกทำดัชนีในภายหลัง คำจำกัดความการแม็ปจะถูกอัพเดตโดยอัตโนมัติ ดังนั้นจึงไม่มีสคีมา
ข้อกำหนดเบื้องต้นในการตั้งค่า Elasticsearch
เนื่องจากเป็นส่วนเสริมที่จำเป็นสำหรับแพลตฟอร์ม Magento จึงต้องติดตั้งและกำหนดค่า Elasticsearch ก่อนที่ผู้ใช้จะอัปเกรดเป็นเวอร์ชัน 2.4.x นอกจากนี้ ผู้ใช้ควรทราบว่า Adobe ไม่สนับสนุน Adobe Commerce 2.3.x และ PHP 7.3 อีกต่อไป ดังนั้น ขอแนะนำให้อัปเกรดเป็น Adobe Commerce 2.4.x และ PHP 7.4.x เพื่อรักษามาตรฐาน PCI
ลำดับการติดตั้ง Magento 2.4.x ปัจจุบันต้องการให้ผู้ใช้ติดตั้ง Elasticsearch พร้อมกับข้อกำหนดเพิ่มเติมเหล่านี้:
- เว็บเซิร์ฟเวอร์ (Apache หรือ Nginx)
- มายเอสคิวแอล
- พี.เอช.พี
เวอร์ชันที่ Magento ร้องขอสำหรับการติดตั้งทั้งหมดคือ Elasticsearch 7.6.x ดังนั้นผู้ใช้ควรตรวจสอบให้แน่ใจว่าพวกเขาเลือกใช้เวอร์ชันนี้ ส่วนขยาย Elasticsearch ของ Magento 2 ของบุคคลที่สามบางรายการในปัจจุบันสามารถช่วยคุณผสานรวม Elasticsearch เข้ากับร้านค้า Magento ของคุณได้
กำหนดค่า Elasticsearch อย่างง่ายสำหรับร้าน Magento ของคุณ
ที่นี่เราจะแนะนำคุณตลอดขั้นตอนการกำหนดค่า Elasticsearch โดยใช้ Magento 2 Admin Panel
ขั้นตอนที่ 1: กำหนดค่าตัวเลือกการค้นหาของ Magento 2 Elasticsearch
1. เข้าสู่ระบบ Magento 2 Admin Panel ในฐานะผู้ดูแลระบบ
2. คลิก ร้านค้า ที่ การตั้งค่า เลือกการ กำหนดค่า จากหน้านี้ คลิกที่ ส่วนแค็ตตาล็อก เพื่อขยาย
3. เลือก ค้นหาแคตตาล็อก ที่นี่ คุณจะเห็นเวอร์ชันของเครื่องมือค้นหาทั้งหมดที่จะเลือกและการตั้งค่าทั่วไปอื่นๆ
- ความยาวข้อความค้นหาขั้นต่ำ : จำนวนอักขระขั้นต่ำที่ผู้ใช้ต้องป้อนก่อนที่คำแนะนำหรือข้อเสนอแนะของ Elasticsearch จะปรากฏขึ้น และค่าเริ่มต้นของระบบคือ 3
- ความยาวข้อความค้นหาสูงสุด : จำนวนอักขระสูงสุดที่จะพิมพ์เพื่อดูผลลัพธ์ ค่าเริ่มต้นของระบบคือ 128
- จำนวนผลการค้นหาสูงสุดในแคช: ที่นี่คุณป้อนจำนวนผลการค้นหายอดนิยมที่จำกัดเพื่อเพิ่มความเร็วในการตอบสนอง ค่าเริ่มต้นคือ 100 ครั้งที่สองที่มีการค้นหาคำ ให้ส่ง "0" เพื่อแคชผลลัพธ์ทั้งหมด
- เปิดหรือปิดใช้งานตัวสร้างดัชนี EAV: แก้ไขฟิลด์นี้เพื่อเพิ่มความเร็วในการจัดทำดัชนีและหลีกเลี่ยงส่วนขยายของบุคคลที่สามโดยใช้ตัวสร้างดัชนี
- ขีดจำกัดการเติมข้อความอัตโนมัติ: คุณตั้งค่าเพื่อจำกัดผลการค้นหาสูงสุดที่แสดงสำหรับการเติมข้อความอัตโนมัติของ Magento 2 Elasticsearch ซึ่งจะช่วยปรับปรุงประสิทธิภาพการค้นหาและทำให้รายการที่แสดงสั้นลง การตั้งค่าเริ่มต้นคือ 8
ขั้นตอนที่ 2: กำหนดค่าการเชื่อมต่อ Magento 2 Elasticsearch
ตารางต่อไปนี้แสดงตัวเลือกที่จำเป็นในการกำหนดค่าและทดสอบการเชื่อมต่อกับ Magento หากคุณไม่ปรับการตั้งค่าใดๆ และปล่อยให้ค่าเริ่มต้นทำงาน ให้ข้ามไปยังขั้นตอนถัดไป
คลิก ทดสอบการเชื่อม ต่อ เพื่อสิ้นสุดการตั้งค่าและทดสอบ
หากเชื่อมต่อไม่สำเร็จ ให้ลองวิธีต่อไปนี้
- ตรวจสอบว่าเซิร์ฟเวอร์ Elasticsearch ของคุณยังคงทำงานอยู่
- เข้าสู่ระบบเซิร์ฟเวอร์ Magento และ ping โฮสต์ Elasticsearch หากโฮสต์นั้นอยู่บนโฮสต์อื่นจาก Magento แก้ไขปัญหาการเชื่อมต่อเครือข่ายและทดสอบการเชื่อมต่อของคุณอีกครั้ง
- แก้ไขการติดตามสแต็กและข้อผิดพลาดในหน้าต่างคำสั่งที่คุณเปิดใช้ Elasticsearch ก่อนดำเนินการต่อ และตรวจสอบให้แน่ใจว่าคุณเริ่มต้น Elasticsearch ในฐานะผู้ใช้ที่มีสิทธิ์เข้าถึงระดับรูท
- ตรวจสอบให้แน่ใจว่าปิดไฟร์วอลล์ UNIX และ SELinux หรือเปิดใช้งานการสื่อสารระหว่าง Elasticsearch และ Magento โดยการตั้งค่ากฎ
- รับประกันว่าพอร์ตที่เลือกในฟิลด์ Elasticsearch Server Port ไม่ได้ถูกใช้งานโดยกระบวนการอื่นโดยใช้
netstat -an | grep **listen-port**
netstat -an | grep **listen-port**
ขั้นตอนที่ 3: กำหนดค่าคำแนะนำและคำแนะนำ
ตามที่กล่าวไว้ข้างต้น คำแนะนำในการค้นหาและคำแนะนำของ Magento 2 Elasticsearch นั้นสะดวกและเป็นประโยชน์สำหรับลูกค้าที่กำลังมองหาผลิตภัณฑ์ที่เหมาะสม
สำหรับขั้นตอนนี้ คุณสามารถใช้การตั้งค่าเริ่มต้นหรือเปลี่ยนแปลงบางอย่างได้:
- เปิดใช้งานฟิลด์ เปิดใช้งานคำแนะนำการค้นหา และ เปิดใช้งาน คำแนะนำการค้นหา
- เลือกเพื่อเสนอจำนวนคำแนะนำในการค้นหาและคำ แนะนำในฟิลด์ จำนวน คำแนะนำในการ ค้นหา และ จำนวนคำ แนะนำในการค้นหา
- อนุญาตให้แสดงจำนวนผลลัพธ์ที่พบสำหรับแต่ละคำแนะนำและข้อเสนอแนะหรือไม่ในฟิลด์ แสดงจำนวนผลลัพธ์สำหรับแต่ละคำแนะนำ และ แสดงจำนวนผลลัพธ์สำหรับแต่ละข้อเสนอแนะ
- ระบุค่าใน ข้อกำหนดขั้นต่ำที่จะจับคู่ เพื่อกำหนดจำนวนขั้นต่ำของคำศัพท์ที่ผลการค้นหาจำเป็นต้องจับคู่เพื่อให้ผู้ใช้ได้รับคำที่เกี่ยวข้องมากที่สุด
เมื่อคุณตั้งค่าเสร็จแล้ว ให้กด บันทึก การกำหนดค่า
ขั้นตอนที่ 4: ทำดัชนีการค้นหาแค็ตตาล็อกอีกครั้งและรีเฟรชแคชแบบเต็มหน้า
หลังจากที่คุณเปลี่ยนการกำหนดค่า Magento 2 Elasticsearch คุณต้องทำดัชนีดัชนีการค้นหาแคตตาล็อกใหม่และโหลดแคชของเพจใหม่ทั้งหมด มีสองวิธีในการทำเช่นนี้: โดยใช้ผู้ดูแลระบบหรือบรรทัดคำสั่ง
ใช้ แผงธุรการ:
- ในผู้ดูแลระบบ ให้คลิก ระบบ และไปที่ การจัดการแคช
- ทำเครื่องหมายที่ช่อง Page Cache
- เลือก รีเฟรช จากรายการการ ดำเนิน การที่ด้านขวาบนของหน้า
หากต้องการล้างแคช ให้รันคำสั่ง magento cache:clean
ใช้บรรทัดคำสั่ง:
- เข้าสู่ระบบในฐานะเจ้าของระบบไฟล์หรือเปลี่ยนไปใช้บนเซิร์ฟเวอร์ Magento ของคุณ
- หากต้องการทำดัชนีดัชนีการค้นหาแคตตาล็อกใหม่เท่านั้น ให้ป้อน:
bin/magento indexer:reindex catalogsearch_fulltext
- หากต้องการทำดัชนีใหม่ทั้งหมด ให้ป้อน:
bin/magento indexer:reindex
- รอให้กระบวนการสร้างดัชนีใหม่เสร็จสิ้น
บทสรุป
ใช้โดยชื่อที่มีชื่อเสียงเช่น Netflix, LinkedIn, eBay และอื่น ๆ Elasticsearch ได้รับความไว้วางใจให้ค้นหาไซต์ได้ง่ายและมีประสิทธิภาพสำหรับลูกค้าของคุณ เมื่อการกำหนดค่า Magento 2 Elasticsearch เสร็จสมบูรณ์ ร้านค้าของคุณจะได้รับการสนับสนุนให้เปลี่ยนการค้นหาเป็นการขายและลดการละทิ้งรถเข็น
หวังว่าโพสต์นี้จะเป็นประโยชน์และขอให้คุณโชคดีในอีคอมเมิร์ซ!