วิธีการติดตั้ง Sphinx Search Engine บน CentOS 7

สฟิงซ์เป็นเอ็นจิ้นการค้นหาข้อความแบบโอเพ่นซอร์สที่สามารถผนวกรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้ผลลัพธ์การค้นหาที่รวดเร็วและมีคุณภาพสูง

บทความนี้จะแสดงวิธีการตั้งค่าเครื่องมือค้นหาสฟิงซ์ให้ดัชนีและค้นหาตัวอย่างฐานข้อมูล MariaDB บนอินสแตนซ์เซิร์ฟเวอร์ Vultr CentOS 7 มันจะให้ความคิดเบื้องต้นเกี่ยวกับวิธีการใช้สฟิงซ์ในโครงการของคุณ

ข้อกำหนดเบื้องต้น

  • ปรับใช้อินสแตนซ์เซิร์ฟเวอร์ CentOS 7 ใหม่จากแผงควบคุม Vultr
  • ใช้ผู้ใช้ที่ไม่ใช่ผู้ใช้ sudo เพื่อล็อกอินจากเทอร์มินัล SSH ของคุณ ดูวิธีการสร้างผู้ใช้ sudo ในบทความนี้

ขั้นตอนที่ 1: อัปเดตระบบของคุณ

sudo yum update -y && sudo reboot

หลังจากระบบรีบูตเสร็จสิ้นให้ใช้ผู้ใช้ sudo คนเดียวกันเพื่อเข้าสู่ระบบอีกครั้ง

ขั้นตอนที่ 2: ติดตั้งและกำหนดค่า MariaDB

สฟิงซ์สามารถใช้ในการค้นหาแหล่งข้อมูลต่าง ๆ เช่นฐานข้อมูล SQL, ไฟล์ข้อความธรรมดา, ไฟล์ HTML ฯลฯ ที่นี่เรามาดูวิธีการใช้สฟิงซ์เพื่อทำการค้นหาบนฐานข้อมูล MariaDB

ติดตั้ง MariaDB โดยใช้ YUM:

sudo yum install mariadb mariadb-server

เริ่มบริการ MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

เพื่อความปลอดภัยให้ทำการติดตั้ง MySQL อย่างปลอดภัย:

sudo /usr/bin/mysql_secure_installation

ทำตามขั้นตอนนี้ตามคำแนะนำต่อไปนี้:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n]: Input Y, then press Enter
New password: Input a new password for root, press Enter
Re-enter new password: Input the same password again, then press Enter
Remove anonymous users? [Y/n]: Input Y, then press Enter
Disallow root login remotely? [Y/n]: Input Y, then press Enter
Remove test database and access to it? [Y/n]: Input Y, then press Enter
Reload privilege tables now? [Y/n]: Input Y, then press Enter

หลังจากการติดตั้ง MySQL ที่ปลอดภัยเสร็จสิ้นคุณจะต้องตั้งรหัสผ่านใหม่สำหรับผู้ใช้ MySQL "root" ในบทช่วยสอนนี้ฉันจะเรียกมันว่า "yourpassword"

ขั้นตอนที่ 3: ติดตั้งสฟิงซ์ล่าสุด

ในการติดตั้ง Sphinx เวอร์ชั่นล่าสุดคุณต้องดาวน์โหลดแพ็คเกจ rpm ที่เหมาะสมจากเว็บไซต์ทางการของ Sphinx:

cd ~
wget http://sphinxsearch.com/files/sphinx-2.2.10-1.rhel7.x86_64.rpm
sudo yum install sphinx-2.2.10-1.rhel7.x86_64.rpm

ขั้นตอนที่ 4: สร้างฐานข้อมูลสำหรับการทดสอบ

ใช้คำสั่ง MySQL ต่อไปนี้เพื่อสร้างฐานข้อมูลชื่อ "test":

mysql -u root -p -e "CREATE DATABASE test"

เมื่อคุณถูกขอให้ระบุรหัสผ่านให้ป้อนรหัสที่คุณตั้งไว้ก่อนหน้านี้แล้วกด Enter

ตอนนี้นำเข้าข้อมูลทดสอบจากไฟล์ sql ตัวอย่าง Sphinx:

mysql -u root -p test < /usr/share/doc/sphinx-2.2.10/example.sql

ป้อนรหัสผ่านเดียวกันอีกครั้งแล้วกด Enter เพื่อสิ้นสุดการนำเข้า

ขั้นตอนที่ 5: กำหนดค่าสฟิงซ์

เปิดไฟล์คอนฟิกูเรชัน Sphinx /etc/sphinx/sphinx.conf:

sudo vi /etc/sphinx/sphinx.conf

ในตอนนี้คุณเพียงแค่ตั้งค่าชื่อผู้ใช้ MySQL sql_userและรหัสผ่านsql_passซึ่งจะเป็น:

sql_user                = root
sql_pass                = yourpassword

บันทึกและออก:

:wq

ขั้นตอนที่ 6: เริ่มตัวสร้างดัชนีและ searchd daemons

ทั้งตัวสร้างดัชนีและการค้นหาเป็นองค์ประกอบสำคัญของสฟิงซ์ ตัวจัดทำดัชนีรับผิดชอบการรวบรวมข้อมูลจากแหล่งข้อมูลและ searchd เป็นส่วนหนึ่งของเครื่องมือค้นหาที่จัดการการค้นหาได้จริง

อย่าลืมรันคำสั่งต่อไปนี้อย่างเป็นระเบียบหรือคุณจะพบข้อผิดพลาด

sudo indexer --all
sudo searchd

หากต้องการอัพเดตสถานะดัชนีเป็นประจำให้สร้างงาน cron:

sudo crontab -e

ป้อนรายการต่อไปนี้:

0 * * * * /usr/bin/indexer --rotate --config /etc/sphinx/sphinx.conf --all

บันทึกและออก:

:wq

งาน cron นี้จะอัพเดตสถานะดัชนีทุกชั่วโมง

ขั้นตอนที่ 7: ทดสอบเครื่องมือค้นหาสฟิงซ์ของคุณ

คุณสามารถใช้สคริปต์ python ที่กำหนดไว้ล่วงหน้าเพื่อทดสอบการตั้งค่าสฟิงซ์ของคุณ:

python /usr/share/sphinx/api/test.py this is my test document

คำสั่งนี้จะค้นหา "นี่คือเอกสารทดสอบของฉัน" ในตัวอย่างฐานข้อมูล MySQL แล้วแสดงผลการค้นหา

สรุปว่าบทช่วยสอนนี้ สฟิงซ์ยังมี API การค้นหาซึ่งสามารถใช้ได้จากโครงการ PHP, Perl, Python, Ruby หรือ Java ของคุณเอง ข้อมูลเพิ่มเติมมีอยู่ในเว็บไซต์อย่างเป็นทางการของสฟิงซ์



Leave a Comment

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน