PDA

View Full Version : گوگل چگونه کار می کند ؟!



Ahmad-VB
شنبه 30 خرداد 1383, 13:14 عصر
سلام وقتتون بخیر
ببخشید اگر این سوال خیلی مرتیط با این قسمت نیست راستش نمی دونستم این رو باید کجا مطرح کنم . سوال هم اینه که گوگل چطوری کار می کنه .یعنی اینکه از چه دیتا بیسی استفاده می کنه چطوری در میان سایتها جستجو می کنه و بقیه مواردی که خودتون می دونید.
اگر جوابهایی که می دید مستند باشه که خیلی عالی هست اما اگر جواب مستند ندارید حدستون رو هم بگید ممنون میشم.

sh
شنبه 30 خرداد 1383, 15:53 عصر
جواب را در بخش متفرقه جستجو کن

ولی اگر میخوای در باره ارتباط و استفاده ار ویژگیهای گوگل در Visual Studio.NET بدونی این مثال رو دانلود کن

http://download.microsoft.com/download/4/b/4/4b44505a-ecda-4dd3-8a0e-71d8c7a8b9bb/Bugslayer0311.exe

Ahmad-VB
یک شنبه 31 خرداد 1383, 10:53 صبح
متشکرم اما من چیزی اونجا پیدا نکردم .
در ضمن لازم می دونم سوالم رو یه مقدار بیشتر باز کنم . فرض کنید من یه سایت دارم شبیه گوگل منتها می خوام در اون یه سری سایتهای خاص مثلا سایتهای مربوط به برنامه نویسی رو ایندکس کنم و سایتم تمام امکانات گوگل رو به طور مستقل داشته باشه .نه اینکه مثلا از موتور جستجوی گوگل استفاده کنه . فکر می کنم برای این کار باید یه رباط جستجو گر بنویسم مشکل دقیقا همینجاست این رباط جستجو گر مثلا در سایت گوگل چطوری کار می کنه آیا اطلاعات رو در یک دیتا بیس ذخیره می کنه و اگر اینطور هست چه نوع دیتابیسی قدرت ذخیره اطلاعات میلیونها سایت رو داره.
متشکرم

sh
یک شنبه 31 خرداد 1383, 19:07 عصر
اونا سرورهای قوی و متعدد دارن و کار من و شما نیست !

ولی میشه از API گوگل استفاده کرد که مثالاش به وفور توی اینترنت پیدا میشه
اونا کلمات کلیدی هر سایت رو ذخیره و اینطوری عملیات جستجو را سریعتر انجام میدهند البته راههای دیگر هم هست

linux
یک شنبه 31 خرداد 1383, 20:14 عصر
آقا خیلی مخلصیم!
همین اعتماد به نفس هست که آمریکای جهانخوار را از پادر میاره

تمام امکانات گوگل رو به طور مستقل داشته باشه
تا حالا فکر کردی چرا گوگل محبوب شد؟ چرا کسی رو دست گوگل بلند نشد؟ چرا گوگل به شرکت سودآوری چند صد میلیون دلاری تبدیل شد؟

این رباط جستجو گر مثلا در سایت گوگل چطوری کار می کنه
چرا از خود گوگل نمی پرسی؟

آیا اطلاعات رو در یک دیتا بیس ذخیره می کنه و اگر اینطور هست چه نوع دیتابیسی قدرت ذخیره اطلاعات میلیونها سایت رو داره.

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

h_rezaei
دوشنبه 01 تیر 1383, 00:03 صبح
بد نیست یه نگاهی به Open Directory Project بکنی
http://dmoz.org/about.htm

Ahmad-VB
دوشنبه 01 تیر 1383, 11:09 صبح
آقا خیلی مخلصیم!
همین اعتماد به نفس هست که آمریکای جهانخوار را از پادر میاره
ما بیشتر لینوکس جان!
البته آمریکا که عددی نیست من می خوام حال مایکروسافت رو بگیرم :lol:
اما در مورد گوگل من فکر نمی کنم اون اولی که راه افتاد دارای این محبوبیت و امکانات بود . و بعد از اون من فقط می خوام فعلا یک رباط جستجو گر بنویسم حتی اگر شده فقط روی یکی دوتا سایت کار کنه .
در مورد سیستم عامل هم من هنوز چیزی در مورد سیستم عاملی به اسم گوگل نشنیدم پس مطمپنا اونا هم از یکی از همین سیستم های خودمون استفاده می کنند و احتمالا هم ویندوز باشه (البته با اجازه جناب لینوکس).
البته اگر می شد در مورد دیتابیسش یه مقدار اطلاعات میداشتم خیلی خوب بود.

Voldemort
شنبه 06 تیر 1383, 21:15 عصر
Ahmad-VB عزیز جواب سوالاتی که پرسیده بودید رو به دو قسمت کردم یکی ساختار SE=Search Engine و یکی Database استفاده شده در SE ها.
از اونجایی که منم مثل شما تو دوره دانشجویی حال و هوای ساخت یه SE به سرم زده بود خیلی دنبال مطالبی در این مورد بودم. یه کتابی پیدا کردم به اسم "یک یا دو هزار و یک" نوشته مهندس مهدی رودکی که یکی از فصلهای اون درباره ساختار SEها بود. منم خلاصه مطالبی رو که خونده بودم یادداشت کردم که اونا رو همینجا برای مطالعه شما و بقیه دوستان می نویسم. البته بگم چون خلاصه نویسی کردم جملات من شبیه جملات کتاب نیست که همینجا از نویسنده عذر خواهی می کنم. ظاهرا نسخه الکترونیکی اون کتاب هم رو اینترنت هست که اگه کسی از دوستان آدرسش رو سراغ داشت لطف کنه و همینجا بنویسه.
در ضمن تا یه جاهایی هم پیش رفتیم (بصورت گروهی) که اگه سورس اونو پیدا کردم حتما براتون می فرستم.

SE
یک SE به کمک بخشهای مختلفی که دارد اطلاعاتش را جمع آوری و آنالیز می کند و در بانک اطلاعاتی ذخیره می کند. بخشهای مختلف یک SE عبارتند از:
Spider
Crawler
Indexer
Database
Ranker

Spider:
همان Robot است و نرم افزاری است که کار جمع آوری اطلاعات مورد نیاز SE را انجام می دهد. Spider محتویات صفحات مختلف وب را خوانده و اطلاعات مورد نیاز SE را جمع آوری می کند و در اختیار سایر بخشها قرار می دهد. Spiderها علاوه بر جمع آوری اطلاعات کارهای دیگری مانند بررسی صحت لینکها و جستجو به دنبال Emailها را هم انجام می دهند.

Crawler:
نرم افزاری است که به عنوان فرمانده برای Spider عمل می کند. Crawler تعیین می کند که کدام صفحات توسط Spider بررسی شوند. در اینجا می توان برنامه ریزی کرد که Crawler لینک چه نوع صفحاتی را در اختیار Spider قرار دهد، به این ترتیب یک SE تخصصی ساخته خواهد شد.

Indexer:
همه اطلاعاتی که Spider جمع آوری می کند در اختیار Indexer قرار می گیرد. در اینجا اطلاعات ورودی آنالیز شده و به بخشهای مختلفی تقسیم می شوند. آنالیز شدن به این صورت است که مشخص می شود اطلاعات مربوط به کدام صفحه است، حجمش چقدر است، کلمات موجود در آن، تعداد تکرار کلمات، محل قرار گرفتن کلمات و ...
Indexer صفحه را بدین ترتیب خرد کرده و همه اطلاعات را به مقیاس عددی تبدیل می کند تا بتوان از آن جهت رتبه بندی استفاده کرد. (در Indexer برای کاهش حجم اطلاعات از کلمات رایج مانند Is، am، a، ... صرفنظر می گردد).

Database:
داده های آنالیز شده در Indexer به Database ارسال می گردد. داده ها قبل از اینکه ذخیره شوند جهت حجم کمتر فشرده می شوند. ضمنا این Database باید دائما Update شود. یکی از تفاوتهای اساسی بین SEهای مختلف در حجم Database آنها و روش ذخیره سازی داده ها در آن است.

Ranker:
یکی از تفاوتهای اساسی بین SEها Ranker می باشد. Ranker سیستم رتبه بندی برای پاسخ گویی به سوالات کاربران است و برای آن الگوریتمهای بسیار پیچیده ای استفاده می کنند تا بتوان مرتبط ترین نتایج به درخواست کاربر را به او ارائه دهند. (توضیح از خودم: برای بررسی یه سیتم Ranker واقعی می تونید به سایت CodeProject مراجعه کنید که چند وقت پیش مقاله ای درباره الگوریتم مورد استفاده در Ranking سایت منتشر کرده بود.)

می توانیم وظایف Spider و Crawler و همچنین Indexer و Database را با هم ادغام کنیم. در این صورت یک SE را می توان شامل سه قسمت در نظر گرفت:
Crawler
Indexer
Ranker

انواع SE
1) SE : Spiderها هیچوقت از کار نمی ایستند و دائما به جمع آوری اطلاعات مشغول می باشند.
2) Directory: تفاوت Directory با SE در این است که Directoryها Spider ندارند.
3) Meta SE: از نتایج سایر SEها استفاده می کنند.
4) Pay per click SE: (توضیح از خودم: دور این فقره رو قلم بگیریدچون بحث پول در میونه)
5) Specialty SE: این SEها به دنبال موضوع خاصی هستند و تنها آدرسهای مربوط به همان موضوع را جمع آوری و ارائه می کنند.


در مورد Databaseهای مورد استفاده سایتها و مراکز بزرگ باید بگم که مطمئن باشید یکی از محصولات شرکتهای Oracle یا IBM یا Microsoft است که اونا استفاده می کنند. خود بنده Microsoft رو بعید می دونم با توجه به شناختی که از Database های MS و مقایسه اونا با محصولات Oracle و IBM دارم بعید می دونم حتی SQL Server هم بتونه در اون سطح (به قول آقای Inprise سازمان مقیاس) بخوبی بتونه جواب بده. در ضمن طبق گفته IDC شرکت MS فقط 1/12 درصد بازار Database رو در اختیار داره که این رقم برای Oracle 40 درصد و IBM 31 درصد است. من از چند مرجع مختلف در مورد Database مورد استفاده در SEها پرس و جو کردم همه آنها معتقد بودند که IBM یا Oracle که اکثرا هم رای به Oracle دادند و البته در آخر اضافه کنم که الله اعلم.
در مورد سیستم عامل، بعضی از دوستان سوال کردند. من فقط سیستم عامل Yahoo رو مطمئنم که اونم FreeBSD است و احتمالا سایتهای بزرگ از سیستم عاملهای مبتنی بر UNIX بیشتر استفاده می کنند.

rezanew
دوشنبه 08 تیر 1383, 08:56 صبح
اگه c#.net بلدی یه سری به اینجا بزنی بدک نیست!
http://users.bigpond.com/conceptdevelopment/Search/SearcharooV1/
(از سایت www.iranasp.net )

mirkamali
پنج شنبه 30 مهر 1388, 18:33 عصر
توی یه فایل 6 صفحه‌ای ایده‌ی محاسباتی گوگل رو توضیح دادم. شاید به دردتون بخوره.
http://daneshamari.blogfa.com/post-68.aspx

گوگل چگونه كار مي‌كند؟ مقدمه‌اي بر پيوندكاوي (http://daneshamari.blogfa.com/post-68.aspx)

nima898
یک شنبه 03 آبان 1388, 14:37 عصر
این تاپیک به vb.net ارتباطی نداره

Marjan_pr
یک شنبه 03 آبان 1388, 23:52 عصر
آقای نیما898 اعلام این که سوال به کجا ربط داره رو مدیران تعیین میکنند نه شما !

sari-1369
دوشنبه 04 آبان 1388, 00:36 صبح
درسته ، مدیران تعیین میکنن ، اما باید بعد اون یه نظارتی هم باشه که ببینن قوانین اجرا میشه یا نه ، که اینجا نیس .

nima898
دوشنبه 04 آبان 1388, 08:28 صبح
آقای نیما898 اعلام این که سوال به کجا ربط داره رو مدیران تعیین میکنند نه شما !
مدیران میتونن تاپیک رو حذف کنن
ولی وقتی این تاپیک به vb.net ارتباط نداره چون حذف نشده دلیل نمیشه که به vb.net ارتباط داشته باشه
من نگفتم به کجا ربط داره گفتم به اینجا ارتباط نداره
البته با پوزش از Ahmad-vb که این تاپیک رو ایجاد کرده.

Marjan_pr
دوشنبه 04 آبان 1388, 15:27 عصر
مدیران میتونن تاپیک رو حذف کنن
ولی وقتی این تاپیک به vb.net ارتباط نداره چون حذف نشده دلیل نمیشه که به vb.net ارتباط داشته باشه
من نگفتم به کجا ربط داره گفتم به اینجا ارتباط نداره خودت فهمیدی چی گفتی ؟!http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/2.gifhttp://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/46.gif

nima898
دوشنبه 04 آبان 1388, 15:32 عصر
خودت فهمیدی چی گفتی
دقیقا نفهمیدم :متفکر:

ImanGh
سه شنبه 05 آبان 1388, 01:27 صبح
یک نگاه به این پروژه بنداز http://www.sphider.eu
البته تا اونجایی که من می دونم یکم با unicode و فارسی مشکل داره که باید روش کار بشه.

khadem1386
پنج شنبه 14 آبان 1388, 10:33 صبح
سلام این هم لینکی که خواسته بودید از نسخه الکترونیکی کتاب:
http://www.iranseo.com/book/1ya2001-sample.pdf

این خلاصه کتاب هست که البته همین هم حدود 60 صفحه مطلب داره
ولی کاملش را خبر ندارم:



Ahmad-VB عزیز جواب سوالاتی که پرسیده بودید رو به دو قسمت کردم یکی ساختار SE=Search Engine و یکی Database استفاده شده در SE ها.
از اونجایی که منم مثل شما تو دوره دانشجویی حال و هوای ساخت یه SE به سرم زده بود خیلی دنبال مطالبی در این مورد بودم. یه کتابی پیدا کردم به اسم "یک یا دو هزار و یک" نوشته مهندس مهدی رودکی که یکی از فصلهای اون درباره ساختار SEها بود. منم خلاصه مطالبی رو که خونده بودم یادداشت کردم که اونا رو همینجا برای مطالعه شما و بقیه دوستان می نویسم. البته بگم چون خلاصه نویسی کردم جملات من شبیه جملات کتاب نیست که همینجا از نویسنده عذر خواهی می کنم. ظاهرا نسخه الکترونیکی اون کتاب هم رو اینترنت هست که اگه کسی از دوستان آدرسش رو سراغ داشت لطف کنه و همینجا بنویسه.
در ضمن تا یه جاهایی هم پیش رفتیم .....

در ضمن دیگه وقتش برای گوگل یک تالار مجزا درست کنند:


3- لطفا برای موضوع " مدیرت و ارتقاء وب پیج ها در گوگل" یک بخش اختصاص بدید چون هزاران نکته وجود داره و خودش یک تالار جدا در قسمت "توسعه وب " نیاز داره (آخه توسعه وب پیج بدون گوگل و سواد گوگلی معنی نداره)
http://barnamenevis.org/forum/showthread.php?t=187339
نظر تون را به مسولین بگید تا اقدام کنند

emad_67
پنج شنبه 14 آبان 1388, 12:17 عصر
در ضمن دیگه وقتش برای گوگل یک تالار مجزا درست کنند:سوالات مروبط به seo اونقدر زیاد نیست که نیاز به بخش جدیدی داشته باشه. اگر نگاه کنید هر از چند گاهی سوالاتی در این مورد پرسیده شده و تعداد سوالات در این مورد خیلی کمه.

persianshadow
دوشنبه 30 آذر 1394, 14:15 عصر
رباط جستجوگر چیه ؟ ربات جستجوگر دیگه به امید خدا :). بعد دیتابیس گوگل مفهومی داره با اسم BigTable :
https://en.wikipedia.org/wiki/BigTable

اکثر محصولات گوگل از این سرویس بهره میبرن. شما میتونی از جایگزین های مثل mangodb - couchdb و غیره بهره ببری.

بعد توسعه دهنده های گوگل از یک نسخه سفارشی سازی شده اوبونتو برای توسعه استفاده میکنن به اسم گوبونتو :
https://en.wikipedia.org/wiki/Goobuntu

که صد البته ربطی به سرورهاشون نداره. پلتفرم کلی گوگل رو میتونید اینجا ببینید:
https://en.wikipedia.org/wiki/Google_platform

و در کل کاری که گوگل انجام میده حاصل کار هزاران مهندس و دانشمند هست و به سادگی قابل انجام نیست. بنابراین به جای اختراع چرخ از API های موجود بهره ببرید و نشون بدید فرد باهوشی هستید.

و در نهایت رباط جستجوگر اشتباهه ربات درسته.