نحوه نصب موتور جستجوی Sphinx در CentOS 7

Sphinx یک موتور جستجوی متن کامل و متن باز است که می تواند برای ارائه نتایج جستجوی سریع و با کیفیت ، در برنامه های مختلف وب ادغام شود.

در این مقاله نحوه راه اندازی موتور جستجو Sphinx به شما نشان داده می شود و نمونه ای از بانک اطلاعاتی MariaDB را در نمونه سرور Vultr CentOS 7 جستجو می کند. این ایده های اولیه در مورد چگونگی استفاده از ابوالهول در پروژه شما را ارائه می دهد.

پیش نیازها

  • نمونه سرور CentOS 7 تازه را از کنترل پنل Vultr مستقر کنید.
  • برای ورود به سیستم از ترمینال SSH خود از یک کاربر sudo غیر root استفاده کنید. در این مقاله نحوه ایجاد یک کاربر سودو را مشاهده می کنید .

مرحله 1: سیستم خود را به روز کنید

sudo yum update -y && sudo reboot

پس از اتمام راه اندازی مجدد سیستم ، از همان کاربر sudo استفاده کنید تا دوباره وارد سیستم شوید.

مرحله 2: MariaDB را نصب و پیکربندی کنید

Sphinx را می توان برای جستجوی منابع داده های مختلف مانند پایگاه داده های SQL ، فایل های متنی ساده ، فایل های HTML و غیره استفاده کرد. در اینجا ، می خواهیم نحوه استفاده از Sphinx را برای انجام جستجوها در یک پایگاه داده 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 را نصب کنید

برای نصب جدیدترین نسخه 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 را فشار دهید.

اکنون داده های تست را از یک پرونده sqlx نمونه SQLx وارد کنید:

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

باز هم همان رمز عبور را وارد کنید و سپس Enter را فشار دهید تا واردات تمام شود.

مرحله 5: Sphinx را پیکربندی کنید

پرونده پیکربندی Sphinx را باز کنید /etc/sphinx/sphinx.conf:

sudo vi /etc/sphinx/sphinx.conf

در حال حاضر ، شما فقط باید نام کاربری MySQL sql_userو رمز عبور را تنظیم کنید sql_pass، که عبارتند از:

sql_user                = root
sql_pass                = yourpassword

ذخیره نموده و خارج شوید:

:wq

مرحله 6: شروع به نمایه سازی و جستجوی دامهای جستجوگر

ایندکس و جستجوگر هر دو مؤلفه های مهم Sphinx هستند. ایندکسر مسئول جمع آوری داده ها از منبع داده است و جستجوگر بخشی از موتور جستجو است که در واقع جستجوها را انجام می دهد.

حتما دستورات زیر را به صورت مرتب اجرا کنید ، یا با خطا روبرو خواهید شد.

sudo indexer --all
sudo searchd

برای به روزرسانی وضعیت فهرست به طور منظم ، یک کار cron ایجاد کنید:

sudo crontab -e

ورودی زیر را وارد کنید:

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

ذخیره نموده و خارج شوید:

:wq

این کار cron وضعیت شاخص را هر ساعت به روز می کند.

مرحله 7: موتور جستجوی ابوالهول خود را تست کنید

برای تست تنظیم Sphinx می توانید از یک اسکریپت پایتون از پیش تعریف شده استفاده کنید:

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

این دستور "این سند آزمایش من است" را در نمونه پایگاه داده MySQL جستجو می کند و سپس نتیجه جستجو را به شما نشان می دهد.

نتیجه گیری این آموزش است. Sphinx همچنین شامل یک API جستجو است که می تواند از پروژه های PHP ، Perl ، Python ، Ruby یا Java خود استفاده کند. اطلاعات بیشتر در وب سایت رسمی Sphinx در دسترس است.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد