มีไฟล์ helper-config หลายไฟล์เพื่อให้ง่ายต่อการติดตั้งและเรียกใช้ SphinxSearch v3+
ที่เก็บไม่มีไฟล์ Docker หรือวิธีอื่น ๆ ในการเรียกใช้เครื่องมือค้นหาภายในคอนเทนเนอร์
ฉันขอแนะนำอย่างยิ่งให้ใช้ https://manticoresearch.com/ เอ็นจิ้นเป็นทางเลือกแทน SphinxSearch เนื่องจากซอร์สโค้ดที่มีอยู่ apt/yum repos และติดตั้ง Windows คุณสมบัติมากขึ้นมีความเสถียรมากขึ้น
เมื่อโฟลเดอร์/var/run ของคุณอยู่ในระบบไฟล์ TMPFS (เช่น: Ubuntu/Debian กับ SystemD) มักจะแปลกใจเมื่อโฟลเดอร์ที่คุณสร้างขึ้นใน/var/run หายไปหลังจากรีบูตระบบ
ดังนั้นด้านล่างจึงเป็นตัวอย่างในการติดตั้ง SphinxSearch v3.5+ บนระบบปฏิบัติการดังกล่าว
1. รับเวอร์ชันที่ต้องการจาก http://sphinxsearch.com
wget http://sphinxsearch.com/files/sphinx-3.5.1-(XXX-some-hash-XXX)-linux-amd64.tar.gzHash เวอร์ชันคุณจะแตกต่างจากอันของฉัน
2. สร้างผู้ใช้
useradd -r -U -c ' Sphinxsearch system user ' sphinx3. เนื้อหา repo ที่ไม่สำคัญ
คุณจะได้รับสิ่งนี้เป็นโครงสร้างไดเรกทอรี:
sphinx-3.5.1
├── api
│ └── ...
├── bin
│ ├── indexer
│ ├── indextool
│ ├── searchd
│ └── wordbreaker
├── doc
│ └── ...
├── etc
│ ├── example.sql
│ ├── sphinx-min.conf.dist
│ └── sphinx.conf.dist
├── misc
│ └── ...
└── src
└── ...
เราสนใจ./เนื้อหาโฟลเดอร์เท่านั้น เพียงแค่คัดลอก./ไฟล์ bin ลงในโฟลเดอร์/usr/bin ของคุณ
cp sphinx-3.5.1/bin/ * /usr/binทดสอบว่า Searchd - SPHINXSEARCH Daemon Binary มีอยู่ในระบบของคุณ
whereis searchdคุณจะได้รับ
searchd:/usr/bin/searchd
4. กำหนดค่าการติดตั้งของเรา
ฉันมีการกำหนดค่าตัวอย่างของตัวเองคุณอาจใช้ของคุณ
ก่อน - สร้างเส้นทางที่เราต้องจัดเก็บดัชนีไฟล์กำหนดค่าบันทึกและอื่น ๆ
mkdir -p /etc/sphinx /var/run/sphinx /var/log/sphinx /var/lib/sphinx/dataให้ผู้ใช้ Sphinx ที่เราสร้างขึ้นเพื่อจัดการกับเส้นทางใหม่
chown -R sphinx:sphinx /etc/sphinx /var/run/sphinx /var/log/sphinx /var/lib/sphinxย้ายไฟล์กำหนดค่าจากโฟลเดอร์ที่เก็บ /etc นี้ไปยังสถานที่ของพวกเขา
การกำหนดค่าทั่วไป:
/etc/sphinx/sphinx.conf
ไฟล์บริการ SystemD:
/etc/systemd/system/sphinx.service
ไฟล์ระบุระบบปฏิบัติการของเราเพื่อกู้คืน/var/run/sphinx โฟลเดอร์พร้อมสิทธิ์การเขียนสำหรับผู้ใช้ Sphinx:
/usr/lib/tmpfiles.d/sphinx.conf
5. เปิดใช้งาน SystemD Service ป้อนสิ่งนี้เพื่อเปิดใช้งานบริการระบบ:
systemctl enable sphinxคุณจะได้รับอะไรบางอย่าง:
Created symlink /etc/systemd/system/sphinx.service → /lib/systemd/system/sphinx.service.
5. เริ่มบริการ
ตอนนี้คุณสามารถเริ่ม sphinxsearch daemon เป็น
systemctl start sphinx6. ตรวจสอบการติดตั้ง
เพื่อตรวจสอบบริการที่คุณสามารถใช้:
ps ax | grep searchdผลลัพธ์ในผลลัพธ์ที่คล้ายกัน:
3744 ? S 0:00 /usr/bin/searchd --config /etc/sphinx/sphinx.conf
3746 ? Sl 0:00 /usr/bin/searchd --config /etc/sphinx/sphinx.conf
SphinxSearch รองรับการเชื่อมต่อผ่านอินเตอร์เฟส MySQL-like ดังนั้นเพื่อทำการตรวจสอบเพิ่มเติมที่เราต้องการ:
หมายเหตุ: สำหรับการตรวจสอบนี้คุณจะต้องติดตั้งไลบรารี mysql-client (เช่น: mysql-client-core-8.0)
mysql -uroot -h 127.0.0.1 -P 9306พอร์ต 9306 เป็นพอร์ตที่คุณเลือกในส่วน searchd ของไฟล์ sphinx.conf ของคุณภายใต้พารามิเตอร์ ฟัง
ในคอนโซลที่เปิดอยู่คุณจะเห็นว่า SphinxSearch สร้างดัชนีข่าวทดสอบของเรา
mysql> show tables;
+-------+------+
| Index | Type |
+-------+------+
| news | rt |
+-------+------+
1 row in set (0.00 sec)
รีบูตระบบ/เครื่องเสมือนของคุณและดูการทำงานของบริการ
เพื่อหยุดการใช้งานเครื่องมือค้นหา
systemctl stop sphinx