การติดตั้ง RediSearch เพื่อเปิดใช้งานการค้นหาอีคอมเมิร์ซที่รวดเร็ว
ทดลอง
โมดูล E-Commerce ของ ERPNext ใช้ RediSearch แบบเลือกได้เพื่อเปิดใช้งานฟังก์ชันการค้นหาซึ่งสามารถกำหนดค่าได้ผ่าน การตั้งค่าอีคอมเมิร์ซ
เมื่อติดตั้งและกำหนดค่าแล้ว RediSearch จะถูกใช้เพื่อคิดค่าฟังก์ชันการค้นหาของเว็บไซต์ E-Commerce ซึ่งรวมถึงฟีเจอร์ เช่น การค้นหาคำที่คลุมเคลือก การเติมข้อความอัตโนมัติ การจัดอันดับผลลัพธ์ และการจัดดัชนีฟิลด์ที่กำหนดเอง
ข้อกำหนดเบื้องต้น
- Frappe Framework + การตั้งค่า ERPNext
- Redis 6+
คำแนะนำการติดตั้ง
$ git clone --recursive https://github.com/RediSearch/RediSearch.git
$ cd RediSearch
$ sudo make setup # Remove `sudo` on macOS
$ make build
โปรดทราบ: เวอร์ชันล่าสุดของ RediSearch ต้องการ Redis 7.1+ ในขณะที่ redis เสถียรณ์ ณ วันที่ 01-Aug-2023 ที่มีใน snap repos คือ 7.0 ดังนั้น Redis ต้องถูกคอมไพล์จาก source เพื่อให้ Redissearch เข้ากันได้กับ Redis
โปรดทราบด้วยว่า ERPNext ต้องการ Redis 6+ ดังนั้นการใช้ Redis 7.1+ อาจทำให้ระบบเสียหายได้ ใช้ Redis 7.1+ ด้วยความระมัดระวัง
เมื่อเสร็จสิ้นคำแนะนำข้างต้นสำเร็จ ไฟล์ไบนารี redisearch.so จะถูกสร้างในไดเรกทอรี RediSearch/build
ย้ายไบนารีนี้ไปยังไดเรกทอรี /etc และรีสตาร์ท Frappe Server ของคุณ:
sudo mv build/redisearch.so /etc/
ตอนนี้ เปิดไฟล์ redis_cache.conf ที่ตั้งอยู่ในไดเรกทอรี config (ภายในไดเรกทอรี bench) เพิ่มบรรทัดต่อไปนี้ก่อนบรรทัด save "" แล้วรีสตาร์ท bench server:
loadmodule /etc/redisearch.so
สิ่งนี้จะโหลดโมดูล redisearch ที่เริ่มต้น คุณสามารถตรวจสอบว่าโมดูลถูกโหลดสำเร็จหรือไม่โดยเรียกใช้คำสั่งต่อไปนี้ใน redis-cli -p 13000 (สมมติว่าพอร์ตเป็น 13000 พอร์ตเริ่มต้นสำหรับ redis ใน frappe config):
> MODULE LIST
และ search ควรเป็นหนึ่งในโมดูล
คุณยังสามารถโหลดโมดูลบน redis instance ที่กำลังทำงานโดยเรียกใช้คำสั่งต่อไปนี้ใน redis-cli:
> MODULE LOAD /etc/redisearch.so
เราวางโมดูล
redisearch.soไว้ในไดเรกทอรี/etcแต่สามารถวางไว้ที่ใดก็ได้ในระบบไฟล์ เราใช้ไดเรกทอรีนี้เพราะในอนาคตบรรทัดloadmoduleจะถูกเติมในไฟล์ config อัตโนมัติและมันจะสมมติว่าไบนารีอยู่ในไดเรกทอรี/etc
คำแนะนำโดยละเอียดเพิ่มเติมสามารถพบได้ ที่นี่