دست نوشته های خودم

همه درددلها ، حرفها و یادداشتهای خودم …
Sphinx چیست ؟
نویسنده:
۲۴ شهریور ۹۱

Sphinx ، یک سرویس ایندکس گزاری رایگان است که اطلاعات دیتابیس رو میتونه به روش های بسیار مفیدی ایندکس کنه. در حال حاضر این سیستم روی My SQL  و چند دیتابیس دیگر قابل استفاده هست. از مزیت های عمده این سرویس ، سرعت بالا و راحتی کار با اون هست. برای اینکه از این سیستم بتونید استفاده کنید باید ، Sphinx رو از اینجا  دانلود کنید. نحوه نصب اسفینکس کمی قلق داره و میتونید طبق این لینک  قدم به قدم اینکار رو انجام بدید ولی توصیه من این هست که از متخصص این سیستم بهره بگیرید.

ویکی پدیا ، برخی از صفات اسفینکس رو اینجا شرح داده و البته این مساله رو هم ذکر کرده که تعداد بسیار زیادی از وب سایتهای دنیا از اسفینکس استفاده میکنند که یکی از اونها BoardReader.com هست که چیزی در حدود ۱۶ بیلیون رکورد رو داره !! و شلوغ ترین وب سایت که از اسفینکس استفاده میکنه ، سایت  Craigslist.org  است که در روز چیزی حدود ۲۰۰ میلیون کواری درخواست اطلاعات رو دریافت میکنه !!

بعد از اینکه اسفینکس رو دریافت و نصب و تنظیم کردید ، میتونید برای استفاده ، صفحه یا برنامه جستجو از دیتابیس رو برنامه نویسی کنید. من یک پکیج خوب و ساده برای استفاده از اسفینکس پیدا کردم که با کمک اون در دات نت و زبان C# یک برنامه ساده نوشتم. این پکیج رو از اینجا میتونید دانلود کنید. کدهای برنامه نویسی به شرح زیر هست :

SphinxClient cli = new SphinxClient(“localhost”, 9312);   //here , you can see the database server name and also the port that use for sphinx

cli.AddQuery(TextBox1.Text, “*”); //here you send the string for search

SphinxResult[] results = cli.RunQueries ();// here fetch result

if (results != null && results.Length > 0)// here checking
}
for (int i = 0; i < results.Length; i++) //here loop
}
Response.Write(results[i].totalFound.ToString() + ” ITEM FOUNDS <br><br>”); //here show count
foreach (SphinxMatch match in results[i].matches) //here item by item
Response.Write(“DocumentId ” + match.docId ); // here show document id — id of record
{
{

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

Facebooktwittergoogle_pluslinkedinmail

2 پیام برای Sphinx چیست ؟

  1. سلام
    من در حال تحقیق بر روی نحوه ساخت شاخص معکوس بصورت پویا از روی اسناد بسیار حجیم هستم. در این تحقیقات به ساختارهای زیر برخورد کرده و مورد مطالعه قرارشون دادم:
    Map-Reduce
    Column DB
    NoSQLها
    و..
    و همچنین با روش‌های پیاده‌سازی‌ای از جمله:
    Hadoop
    Apache Lucene
    Sphinx
    آشنا شدم. در حال حاضر در حال کنکاش برای انتخاب چند مدل و روش جهت استفاده بصورت تلفیقی و در صورت امکان توزیع شده هستم.
    ——————————————
    مصطفی‌ی عزیز ازتون درخواست کمک و همکاری دارم، لطفا در مورد نحوه‌ی پیاده سازی “اسفینکس” تاجایی که براتون مقدوره راهنمایی کنید.
    برای استفاده به چه ملزماتی نیازه؟ بستربرنامه نویسیش چیه؟ آیا در دات‌نت میتونیم ازش استفاده کنیم؟
    لطفا در مورد منبع دیتاستتون که باهاش کوئری‌هاتون رو تست کردید هم راهنمایی کنید.
    [باسپاس بسیاربسیار فراوان]
    سجاد بوالحسنی
    sajad1187@gmail.com

  2. حمید گفت:

    سلام مصطفی جان
    آقا من این راهنماهای سایت sphinx را خواندم و با دشواری فراوان موفق به نصب آن شدم متاسفانه وقتی صفحه test.php خودش را لود میکنم میگه
    Undefined variable: argv
    و وقتی ایندکس خودم را اجرا میکنم خطای زیر نشان میده
    boolean false
    هیچ منبع فارسی خوبی هم پیدا نکردم
    سایتش واقعا خیلی خلاصه و سخت توضیح داده
    لطفا کمکم کنید
    s_h_r_fayazi@yahoo.com

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *