انجمن‌های فارس وب

نسخه کامل: نحوه عملكرد دستورات PHP در موتورهاي جستجو
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
درود به دوستان بزرگوار ؛

کلاس ها و اسکریپت های زیادی برای ساخت یک موتور جستجو و استفاده در طراحی سایت وجود داره و اغلب اطلاعات روی سرور همون سایت رو می خونن.
به برخی موتور های جستجو برخورد کردم که حسابی ذهنم رو مشغول کرده و علاقه دارم نحوه عملکردشون رو فقط از لحاظ فنی بدونم.

مثلا موتور جستجوی زیر که برای جستجوی موزیک هست :

[ جهت مشاهده لينك عضو شويد ! ]

موتور های مشابه زیاد هستن که در حجم اطلاعات خودشون جستجو می کنن.اما این سایت و یکی دو مورد دیگه ، در لیست نتایج لینک های مستقیمی رو از سایت های دیگه پیدا کرده و ارائه می کنن.

1_ از نظر فنی چطور چنین کاری امکان داره ، اونهم با این سرعت بالا ؟؟

2_ قدرت یک جستجوگر رو نتایج دقیق اون تعیین می کنه ، موتور هایی از این دست برای بدست آوردن نتایج دقیق تر چه کاری انجام می دن ؟؟

3_ صرف نظر از اینکه این کار درست هست یا نه ، اگر مثلا من قصد راه اندازی چنین موتوری رو داشته باشم که قابلیت تایپ فارسی و جستجوی صفحات فارسی رو داشته باشه و فقط لینک های مستقیم رو پیدا کنه و تحویل بده ، باید چه کاری انجام بدم ؟؟

ممنون می شم از راهنمایی شما.
در زبانهاي برنامه نويسي وب، به مرور زمان و بر طبق نياز، دستورات جديدي اضافه شدند. نمونه اي از اين دستورات كاربردي دستوراتي هستند كه با استفاده از اونها و آدرس وب (URL)، به كدهاي منبع (source) اون صفحه دسترسي پيدا كنند.

حالا فرض كنيد ما به كد يك صفحه (مثلاً همين صفحه) دسترسي داريم، زبان هاي برنامه نويسي وب دستوراتي دارن كه با استفاده از اونها مي شه كلمات/عبارات/نام هاي خاصي رو پيدا كرد، حالا با اين دستورات به دنبال تگ <A> كه پيوند ساز هستند مي گرديم، با اين حساب ما لينك هاي ديگه اي داريم كه باز اجراي اين روند براي لينك اون صفحات قابل اجراست.

اين روند پيوسته تكرار مي شه و موتوري رو به وجود مياره كه ميليون ها صفحه رو گردآوري و با دستورات خاص برنامه نويسي اونها رو كنترل مي كنه.

حالا اين كنترل شامل خيلي چيزها مي شه؛ ممكنه موتور من فقط به دنبال "META" باشه (دستورات پيدا كردن عبارات كه قبلاً گفته شد) و تنها "keyword" (كلمات كليدي) صفحات رو ذخيره كنه، شايد هم نه؛ موتور من جوري برنامه نويسي شده كه تنها به دنبال "mp3." يا "wma." مي گرده و اطلاعات اونها را فهرست (index) مي كنه.

باز هم اين زبان هاي برنامه نويسي شيرين دستوراتي دارن كه به مشخصات فايل هم مي تونن دسترسي داشته باشن و اونها رو هم در بانك اطلاعاتي ذخيره كنن؛ مثل artist , genre, album title و ... به اينها TAG (برچسب) هاي يك فايل صوتي گفته مي شه كه بر اساس اونها فهرست ما چيدمان مي شه.

حالا بعد از جستجوي شما نتايج خوبي به دست مياد، چون من نام بيليون ها فايل صوتي به همراه لينكي كه موتور من اونو پيدا كرده و مشخصاتي رو كه قبلاً ذخيره كرده رو دارم و تنها با يك پرس و جو از بانك اطلاعاتي 10 تاي اول اون رو كه وقت زيادي هم نمي بره به شما نشون مي دم!

البته اين فرايند به همين سادگي كه توضيح دادم نيستش؛ اما روش كلي كار به همين صورت هستش.
همه ي فرايندهاي پيچيده از فرايندهاي بسيار ساده در كنار هم درست شدند، اميدوارم با اين توضيحات به مقصود خودتون رسيدي باشيد، با اين حال در صورت ناقص/بي ربط بودن توضيحات، آماده ي ارائه توضيحات بيشتري هستم.

موفق باشيد.
ممنون از توضیح شما ؛

نقل قول:
ممكنه موتور من فقط به دنبال "META" باشه (دستورات پيدا كردن عبارات كه قبلاً گفته شد) و تنها "keyword" (كلمات كليدي) صفحات رو ذخيره كنه


این کلمات کلیدی رو چطور می خونه ؟؟ یعنی برنامه نویس این دست موتور ها چندین میلیون کلمات کلیدی رو به دستوراتشون اضافه می کنن ؟؟ کلمات کلیدی جدید و نام های جدید عرضه شده در بازار رو چه می کنن ؟؟

نقل قول:
شايد هم نه؛ موتور من جوري برنامه نويسي شده كه تنها به دنبال "mp3." يا "wma." مي گرده و اطلاعات اونها را فهرست (index) مي كنه.


چطور فقط لینک های مستقیم این فرمت ها رو پیدا می کنه ؟؟ اگر فقط صفحات رو مثل گوگل لیست می کرد یه چیزی ، این فقط لینک ها رو لیست می کنه ، در واقع شکارچی لینک هاست از روی سرور های دیگران.

نوشتن همچین دستوراتی با همین دقت موتور معرفی شده در بالا ، برای یک برنامه نویس ماهر ، چقدر زمان می بره که این جور موتور ها تعدادشون زیاد نیست ؟؟

سلام
با اجازه ی دوستان چند نکته رو اضافه می کنم.

نقل قول:
این کلمات کلیدی رو چطور می خونه ؟؟ یعنی برنامه نویس این دست موتور ها چندین میلیون کلمات کلیدی رو به دستوراتشون اضافه می کنن ؟؟ کلمات کلیدی جدید و نام های جدید عرضه شده در بازار رو چه می کنن ؟؟


بیشتر این کار رو به روبوت ها می سپارند که در وب بخزند و اطلاعات مورد نیاز را جمع آوری و ذخیره کنند.ولی در مورد این موتور که شما فرمودید،خوب در مورد یک کلمه ی فراوان مثل Love فقط 75763 عدد نتیجه پیدا کرد که خیلی کم به نظر می رسد.مثلا یاهو در سال 2005 چیزی حدود 20,000,000 صفحه ایندکس کرده بود.شاید این موتور نتایج رو به صورت دستی وارد پایگاه داده شون می کنند.شاید

نقل قول:
چطور فقط لینک های مستقیم این فرمت ها رو پیدا می کنه ؟؟ اگر فقط صفحات رو مثل گوگل لیست می کرد یه چیزی ، این فقط لینک ها رو لیست می کنه ، در واقع شکارچی لینک هاست از روی سرور های دیگران.

نوشتن همچین دستوراتی با همین دقت موتور معرفی شده در بالا ، برای یک برنامه نویس ماهر ، چقدر زمان می بره که این جور موتور ها تعدادشون زیاد نیست ؟؟

گوگل هم تقریبا این کار رو می تواند بکند.فقط باید نوع فایل رو مشخص کنید.مثلا:
[ جهت مشاهده لينك عضو شويد ! ]

موفق باشید

ممنون از توضیحات ؛

نقل قول:
در مورد یک کلمه ی فراوان مثل Love فقط 75763 عدد نتیجه پیدا کرد که خیلی کم به نظر می رسد.مثلا یاهو در سال 2005 چیزی حدود 20,000,000 صفحه ایندکس کرده بود


چون بحث در مورد ارائه نتایج « فقط موزیک » در موتور جستجوی بالاست ، عدد 75763 لینک موزیک بسیار بهتر و بی نظیر تر از یاهو و گوگل هست. چراکه در گوگل و یاهو بعد از ارائه نتایج موزیک ( جستجو شده بر اساس فرمت ) ، باز باید صفحات دیگری رو باز کرد که بعدش مشخص بشه آیا لینک مستقیم هست یا خیر ، آیا لینک مستقیم کار می کنه یا خیر.

اما در این موتور همه چیز مستقیم و بدون نیاز به باز کردن صفحات دیگه هست. این مهمه.

مرجع آدرس ها