কম্পিউটার টিউটোরিয়াল

Ubuntu 16.04-এ Sphinx সার্চ ইঞ্জিন ইনস্টল ও কনফিগারেশন গাইড

Sphinx একটি ওপেন-সোর্স ফুল-টেক্সট সার্চ ইঞ্জিন যা বড় ডেটাসেটে খুব দ্রুত এবং কার্যকর সার্চ প্রদান করে। এটি SQL ডেটাবেস, প্লেইন টেক্সট ফাইল ইত্যাদি থেকে ডেটা ইনডেক্স করতে পারে।

Sphinx-এর رئيسية বৈশিষ্ট্য

  • অ্যাডভান্সড ইনডেক্সিং এবং কোয়েরি টুল
  • উচ্চ পারফরম্যান্স সার্চিং এবং ইনডেক্সিং
  • রেজাল্ট পোস্ট-প্রসেসিং সুবিধা
  • সহজে স্কেলেবল
  • SQL এবং XML ডেটা সোর্স সাপোর্ট
  • হাজার হাজার কোয়েরি প্রতি সেকেন্ড হ্যান্ডেল করতে পারে

পূর্বশর্ত

  • Ubuntu মেশিন (non-root user with sudo)
  • MySQL ইনস্টলড

Sphinx ইনস্টলেশন

$ sudo apt-get install sphinxsearch

এটি libmysqlclient20, libstemmer0d সহ ইনস্টল করবে।

টেস্ট ডেটাবেস তৈরি

$ mysql -u root -p
mysql> CREATE DATABASE test;
mysql> SOURCE /etc/sphinxsearch/example.sql;
mysql> QUIT;

Sphinx কনফিগারেশন (sphinx.conf)

কনফিগ ফাইল কপি ও এডিট করুন:

$ cp /etc/sphinxsearch/sphinx.conf.sample /etc/sphinxsearch/sphinx.conf
$ sudo vi /etc/sphinxsearch/sphinx.conf

Source Block

source src1 {
    type = mysql
    sql_host = localhost
    sql_user = root
    sql_pass = your_password
    sql_db = test
    sql_port = 3306
    sql_query = SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content FROM documents
    sql_attr_uint = group_id
    sql_attr_timestamp = date_added
}

Index Block

index test {
    source = src1
    path = /var/lib/sphinxsearch/data/test
    docinfo = extern
}

Searchd Block

searchd {
    listen = 9312:sphinx
    listen = 9306:mysql41
    log = /var/log/sphinxsearch/searchd.log
    query_log = /var/log/sphinxsearch/testquery.log
    read_timeout = 5
    max_children = 30
    pid_file = /var/run/sphinxsearch/testsearchd.pid
    seamless_rotate = 1
    preopen_indexes = 1
    unlink_old = 1
    binlog_path = /var/lib/sphinxsearch/data
}

ইনডেক্সিং

$ sudo indexer --all

ক্রোনজব দিয়ে অটো ইনডেক্সিং

$ crontab -e
# যোগ করুন:
@hourly /usr/bin/indexer --rotate --config /etc/sphinxsearch/sphinx.conf --all

Sphinx সার্ভিস শুরু

$ sudo vi /etc/default/sphinxsearch
# START=yes সেট করুন
$ sudo systemctl restart sphinxsearch
$ sudo systemctl status sphinxsearch

SphinxQL দিয়ে টেস্ট সার্চ

$ mysql -h0 -P9306
mysql> SELECT * FROM test WHERE MATCH('test');
SHOW META;

Sphinx বিলিয়ন ডকুমেন্ট এবং টেরাবাইট ডেটা হ্যান্ডেল করতে পারে, যা এটিকে এন্টারপ্রাইজ-গ্রেড সার্চ সমাধান করে তোলে।

  1. উবুন্টুতে প্ল্যাঙ্ক ডক ডাউনলোড, ইনস্টল এবং কনফিগার করার পদ্ধতি

  2. Ubuntu 20.04-এ ফন্ট ইনস্টল করার পদ্ধতি

  3. উইন্ডোজ ৭ সম্পূর্ণ মুছে উবুন্টু ইনস্টল করার পদ্ধতি

  4. উইন্ডোজ ১০ ও ১১-এ উবুন্টু ইনস্টল করার ধাপে ধাপে গাইড