Hacking Google (အင္တာနက္မွရွာေဖြနည္းမ်ား)
Chapter (1)
Search Engine Technology
What is Search Engine?
Search Engine (SE) ဆိုတာ Computer Program တစ္ခုကုိသုံးၿပီး Web page မ်ားကုိ စုစည္းထားေသာ ႀကီးမားသည့္ database ႀကီးတစ္ခုပဲျဖစ္ပါတယ္။ ဘာနဲ႔အလားသ႑ာန္တူသလဲဆုိေတာ့ စာၾကည့္တုိက္မ်ားမွာ Card Catalogue အသုံးျပဳပုံ ႏွင့္ ဆင္တူပါတယ္။ ဆုိရရင္ စာၾကည့္တုိက္သြားၿပီး ကုိယ္သိခ်င္တဲ့ အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကုိ ရွာေဖြတဲ့ အခါမွာ စာၾကည့္တုိက္ထဲက ရွိသမွ်စာအုပ္အားလုံးကုိ လုိက္ဖတ္ၿပီး ရွာမယ္ဆုိရင္ လက္ေတြ႕အားျဖင့္ မျဖစ္ႏုိင္ပါဘူး။ Card Catalogue ကုိ အသုံးျပဳၿပီး ရွာမွသာလွ်င္ ကုိယ္သိခ်င္တဲ့ အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကို လြယ္ကူလ်င္ျမန္စြာ ရရွိပါလိမ့္မယ္။ဒီသေဘာအတုိင္းပါပဲ Internet ေပၚမွာ Web Page ေပါင္းသန္းနဲ႔ခ်ီၿပီးရွိပါတယ္။ မိနစ္တုိင္းမွာ ထပ္တုိးလာတဲ့ web page မ်ားရွိသလုိ ရွိၿပီးသား page မ်ားဟာလည္း Update လုပ္ၿပီး ေျပာင္းလဲေနတတ္ပါတယ္။ ဒါေၾကာင့္ manually ရွာမယ္ဆုိရင္ ဘယ္လုိမွ မျဖစ္ႏုိင္ပါဘူး။ ဒါေပမယ့္ Search Engine မ်ားကို သုံးၿပီးရွာမယ္ဆုိရင္ေတာ့ ကုိယ္ရခ်င္တဲ့အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကို စကၠန္႔ပုိင္းအတြင္း ရရွိပါလိမ့္မယ္။ ဒါေၾကာင့္ အလြယ္ကူဆုံးႏွင့္ အရွင္းဆုံးေျပာရရင္ Search Engine ဆုိတာ Web Page မ်ားကို ရွာေဖြေပးတဲ့ Service တစ္ခုပဲျဖစ္ပါတယ္။ဒီေနရာမွာ Search Engine (SE) မ်ားႏွင့္ပါတ္သက္ၿပီး သိထားသင့္ေသာ အေရးႀကီးဆုံး အခ်က္တစ္ခ်က္ကို ပထမဦးစြာ ေဖာ္ျပလုိပါတယ္။ အဲဒါကေတာ့ SE မ်ားကို အသုံးျပဳ၍ မိမိအလုိရွိေသာ web page မ်ား၊ website မ်ားကို ရွာေဖြျခင္းသည္ အင္တာနက္ေပၚတြင္ တုိက္႐ုိက္ရွာေဖြျခင္းမဟုတ္ပဲ SE မ်ားမွ ဖဲြ႕စည္းတည္ေဆာက္ထားေသာ database ထဲတြင္ ရွာေဖြျခင္း ျဖစ္တယ္ဆုိတာကို သိထားဖုိ႔ လုိပါတယ္။
Functions of Search Engine
SE အားလုံးတုိ႔၏ လုပ္ေဆာင္မႈမ်ားသည္ အေျခခံသေဘာတရားအားျဖင့္ အတူတူပင္ျဖစ္ၾကပါတယ္။ ဆုိရရင္ မည္သည့္ SE မဆုိ Collecting, Organizing, Indexing ႏွင့္ Serving Result ဟူေသာ လုပ္ငန္းစဥ္ေလးခုကုိ အေျခခံပါတယ္။ သုိ႔ေသာ္ အဲဒီလုပ္ငန္းစဥ္ေလးခုကို ေဖာ္ေဆာင္တဲ့အခါမွာေတာ့ SE တစ္ခုႏွင့္တစ္ခု မတူညီေသာ ကုိယ္ပုိင္ Technic မ်ား၊ Algorithm မ်ားကို အသုံးျပဳၾကၿပီး ထုိနည္းပညာသေဘာတရားမ်ားကုိ တင္းတင္းၾကပ္ၾကပ္ လွ်ဳိ႕၀ွက္ထားေလ့ရွိပါတယ္။အက်ဥ္းခ်ဳပ္အားျဖင့္ SE မ်ားရဲ႕ လုပ္ေဆာင္ပုံမ်ားကုိ ေအာက္ပါအတုိင္း ခဲြျခားသတ္မွတ္ႏုိင္ပါတယ္။(1) Crawling the internet for web contents(2) Indexing we web contents(3) Storing the web contents(4) Search algorithm and results
Crawling the Web
webpage တုိင္းမွာ အျခားေသာ webpage (သုိ႔) website တစ္ခုဆီသုိ႔ ကူးေျပာင္းႏုိင္တဲ့ Link မ်ားရွိတယ္ဆုိတာကုိ သိၾက ၿပီးျဖစ္ပါလိမ့္မယ္။ Crawling လုပ္တယ္ဆုိတာကေတာ့ အဲဒီ Link မ်ားမွတဆင့္ Website တစ္ခုမွ တစ္ခုသို႔ ကူးေျပာင္းၿပီး ထုိ Website မ်ားအတြင္းတြင္ရွိေသာ information မ်ား (ပုံမ်ား၊ စာသားမ်ား) ကုိ Search Engine ၏ Database ထဲတြင္ သုိေလွာင္သိမ္းဆည္းထားဖုိ႔ရန္အတြက္ Program တစ္ခုအသုံးျပဳၿပီး ရယူစုေဆာင္းေလ့ရွိေသာ နည္းစနစ္တစ္ခုပင္ ျဖစ္ပါ တယ္။ ထုိ Program ကို Crawler, Spider, Robot, Harvest အစရွိသျဖင့္ အမည္အမ်ဳိးမ်ဳိးျဖင့္ ေခၚေ၀ၚသုံးစဲြေလ့ရွိပါတယ္။Crawler program သည္ website တစ္ခုမွတစ္ခုဆီသုိ႔ hyperlink မ်ားမွတဆင့္ ကူးေျပာင္းသြားလာၿပီး သူျဖတ္သန္းခဲ့ သမွ်ေသာ webpage မ်ားကုိ မိတၱဴကူးယူစုေဆာင္း၍ ဌာေန Search Engine ဆီသုိ႔ ျပန္ပုိ႔ေပးႏုိင္ေသာ software program တစ္ခုပင္ျဖစ္ပါတယ္။Search Engine မ်ားတြင္ Crawler ရဲ႕ အခန္းက႑သည္လည္း လြန္စြာမွ အေရးပါလွပါတယ္။ Crawler မ်ားကို တၿပိဳင္နက္ တည္း website ေပါင္းမ်ားစြာကုိ ခ်ိတ္ဆက္ Crawl လုပ္ႏုိင္ေစရန္ ဖန္တီးထားပါတယ္။Google မွာဆုိရင္ Googlebot လုိ႔ေခၚတ့ဲ ခ်ိတ္ဆက္မႈေပါင္း 300 ခန္႔ကို တၿပိဳင္နက္ျပဳလုပ္ႏုိင္သည့္ Crawler program ေလးခုကုိ အသုံးျပဳၿပီး တစ္စကၠန္႔အတြင္းမွာ Web Page ေပါင္း 100 ခန္႔ကုိ download လုပ္ႏုိင္ပါတယ္။ သုိ႔မွသာ အင္တာနက္ေပၚရွိ ဘီလီယံႏွင့္ခ်ီေသာ website မ်ားအတြင္းပါ၀င္ေသာ အေၾကာင္း အရာမ်ားကို ျမန္ႏုိင္သမွ် ျမန္ျမန္ မၾကာခဏ ျပန္လည္ crawl လုပ္ႏုိင္ျခင္းအားျဖင့္ update ျဖစ္ေသာ result မ်ားကုိ ထုတ္ေပးႏုိင္မွာျဖစ္ပါတယ္။အထူးသျဖင့္ေတာ့ ကမၻာအရပ္ရပ္မွ ေနာက္ဆုံးသတင္းမ်ားကို result မ်ားတြင္ ေဖာ္ျပႏုိင္ေစရန္ သတင္း မီဒီယာ website မ်ား (CNN, BBC) ကုိေတာ့ နာရီပုိင္းအတြင္း ျပန္လည္ crawl လုပ္ေလ့ရွိပါတယ္။Crawler မ်ားသည္ website မ်ားအတြင္းရွိ သတင္းအခ်က္အလက္မ်ားကို ရယူစုေဆာင္းတဲ့ေနရာမွာ ထုိ website ပုိင္ရွင္မ်ားမွ သတ္မွတ္ထားေသာ တားျမစ္ခ်က္မ်ားကို လုိက္နာေဆာင္ရြက္ရပါတယ္။ ဆုိရရင္ website ပုိင္ရွင္မ်ားသည္ မိမိတုိ႔ website အတြင္းမွ crawl မလုပ္ေစလုိေသာ File အမည္မ်ား၊ Folder အမည္ မ်ားကို ထည့္သြင္းေဖာ္ျပထားတဲ့ "robot.txt" ဆုိတဲ့ file ကို ေရးဖဲြ႕ၿပီး website ၏ root directory ေအာက္တြင္ ထည့္သြင္းထားေလ့ရွိပါတယ္။ http://www.w3.org/robot.txt http://www.mit.edit/robot.txtCrawler မ်ားသည္ website တစ္ခုသုိ႔ ေရာက္လာတဲ့အခါမွာ ပထမဦးဆုံး robot.txt ကုိ သြားေရာက္ဖတ္႐ႈ႕ ၿပီး ထုိ file အတြင္းပါ ၫႊန္ၾကားခ်က္မ်ားကို လုိက္နာေဆာင္ရြက္ရပါတယ္။Indexing the Web Content
Search Engine မ်ားသည္ crawler မ်ားမွ မိတၱဴကူးယူလာခဲ့ေသာ webpage တစ္ခုစီတြင္ ပါရွိသည့္ စကားလုံးမ်ားကို ေရြးခ်ယ္ထုတ္ႏုတ္ၿပီး index တစ္ခုတည္ေဆာက္ရပါတယ္။ ထုိ index မ်ားသည္ စာအုပ္မ်ား၏ ေနာက္တြင္ပါေလ့ရွိေသာ အၫႊန္း index မ်ားႏွင့္ ဆင္တူၿပီး SE အသုံးျပဳသူ User မ်ားမွ keyword မ်ားကို အသုံးျပဳ၍ webpage မ်ားကိုိ ရွာေဖြႏုိင္ေစရန္အတြက္ ျဖစ္ပါတယ္။Index တစ္ခုတည္ေဆာက္မႈေကာင္းလွ်င္ ေကာင္းသလုိ ပုိမုိျပည့္စုံေသာ result page မ်ားကို ေဖာ္ျပႏုိင္ျခင္း ၊ အခ်ိန္အနည္းငယ္အတြင္း result မ်ားကို ထုတ္ေပးႏုိင္ျခင္း အစရွိေသာ အက်ဳိးေက်းဇူးမ်ားကို ရရွိေစမွာ ျဖစ္သည့္အတြက္ေၾကာင့္ SE တစ္ခုရဲ႕ေအာင္ျမင္မႈသည္ index ကုိ ဘယ္လုိတည္ေဆာက္အသုံးျပဳသလဲ ဆုိတဲ့ အခ်က္အေပၚမွာလည္း မ်ားစြာမူတည္ပါတယ္။Search Engine မ်ားသည္ Indexing ျပဳလုပ္ႏုိင္ရန္အတြက္ Parser လုိ႔ေခၚတဲ့ program ကုိ အသုံးျပဳ၍ စကားလုံးမ်ားကို ေရြးခ်ယ္ထုတ္ႏုတ္ေလ့ရွိပါတယ္။ ဆုိရရင္ parser program သည္ webpage မ်ားထဲမွ stop words လုိ႔ေခၚသည့္ a, an, the, by ... အစရွိေသာ အသုံးမ်ားသည့္ စကားလုံးမ်ား၊ Meta tags မ်ား၊ Javascripts မ်ားကုိ ဖယ္ရွားၿပီး webpage အတြင္းရွိ အေၾကာင္းအရာကို ကုိယ္စားျပဳႏုိင္မည့္ စကားလုံးမ်ားကို သာ Index တည္ေဆာက္ရန္ ေရြးခ်ယ္ထုတ္ယူေပးႏုိင္ပါတယ္။Google အျခားေသာ SE မ်ားကဲ့သုိ႔ SE မ်ားကဲ့သုိ႔ title မ်ားသာ၊ webpage ရဲ႕ အစပုိင္းမွ်သာ index လုပ္ျခင္းမ်ဳိးမဟုတ္ပဲ webpage တစ္ခုလုံးကို index လုပ္ထားေသာ full-text search engine အမ်ဳိးအစား ျဖစ္ ပါတယ္။World Wide Web သည္ အၿမဲတမ္းေျပာင္းလဲေနတတ္သည့္ အတြက္ေၾကာင့္ crawler မ်ားမွ ယေန႔ရယူ စုေဆာင္းခဲ့ေသာ webpage မ်ားသည္ မနက္ျဖန္မွာ ရွိေနဖုိ႔ရန္ မေသခ်ာသလုိ၊ ယေန႔မရွိေသးေသာ္လည္း မနက္ျဖန္တုိင္းမွာ အသစ္သစ္ေသာ webpage မ်ား ထြက္ေပၚလာေလ့ရွိပါတယ္။ ဒါေၾကာင့္ Google ကဲ့သုိ႔ေသာ SE မ်ားတြင္ တစ္ခါ claw လုပ္ၿပီးတုိင္း update ျဖစ္ေသာ result မ်ားကို ထုတ္ျပန္ႏုိင္ရန္အတြက္ index ေတြကုိလည္း update လုပ္ေလ့ရွိပါတယ္။
Type of Search Engine
Search engine မွာ အဓိကအားျဖင့္ (၂)မ်ဳိးရွိပါတယ္။ individual search engine နဲ႔ metasearch engine တုိ႔ျဖစ္ပါတယ္။ ထုိ search engine (၂)မ်ဳိးအျပင္ search လုပ္ႏုိင္ေသာ ေနာက္တစ္မ်ဳိးရွိပါေသးတယ္။ အဲဒါက ေတာ့ subject directory ပဲ ျဖစ္ပါတယ္။
Individual Search Engine
Web ေပၚမွာ ကုိယ္ပုိင္ database ရွိေသာ search engine မ်ားကို individual search engine လုိ႔ ေခၚပါ တယ္။ Individual search engine ေတြဟာ user မ်ားက ထည့္သြင္းရွာေဖြခုိင္းလုိက္တဲ့ keyword မ်ားကို အျခား သူတုိ႔၏ database ထဲမွာ ရွာေဖြျခင္း မရွိပါဘူး။ မိမိရဲ႕ကုိယ္ပုိင္ database တစ္ခုထဲမွာသာ ရွာေဖြၿပီး အဲဒီ keyword မ်ားပါရွိတဲ့ web page မ်ားကိုသာ result အျဖစ္ထုတ္ေပးပါတယ္။ အသုံးမ်ားေသာ individual search engine အခ်ဳိ႕မွာ-
www.google.com
www.altavista.com
www.gigablast.com
www.wisenut.com
www.askjeeves.com
www.teoma.com တုိ႔ျဖစ္ပါတယ္။
Metasearch Engine
Metasearch engine မ်ားသည္ ကုိယ္ပုိင္ database မ်ားတည္ေဆာက္ထားျခင္း မရွိပါဘူး။ user မ်ားက ထည့္သြင္းရွာေဖြခုိင္းလုိက္တဲ့ keyword မ်ားကို အျခား individual search engine မ်ား၏ database ထဲမွာ တစ္ၿပိဳင္နက္၀င္ေရာက္ရွာေဖြၿပီး အဲဒီ keyword မ်ားပါတဲ့ web page မ်ားကို result အျဖစ္ထုတ္ေပးပါတယ္။ database ေပါင္းမ်ားစြာကို အသုံးျပဳၿပီး ရွာေဖြေသာေၾကာင့္ ရလာသည့္ result မ်ားကလည္း ပုိၿပီးမ်ားပါလိမ့္ မယ္။ အသုံးမ်ားေသာ metasearch engine အခ်ဳိ႕မွာ-
www.metacrawler.com
www.webcrawler.com
www.qbsearch.com
www.vivisimo.com
www.dogpile.com တုိ႔ျဖစ္ပါတယ္။
Subject Directory
Subject Directory မ်ားသည္ သာမန္အသုံးျပဳေနၾက SE မ်ားႏွင့္ မတူပါဘူး SE မ်ားဟာ သူတုိ႔ရဲ႕ database မ်ားကို ကြန္ပ်ဴတာ program မ်ားျဖစ္ေသာ robot (သို႔) spider တုိ႔ကို အသုံးျပဳၿပီး တည္ေဆာက္ထားပါတယ္။ Subject Directory မ်ားမွာေတာ့ ကြန္ပ်ဴတာ program မ်ားကိုမသုံးပဲ ကၽြမ္းက်င္ေသာပညာရွင္မ်ားျဖင့္ အခ်ိန္ မ်ားစြာသုံးၿပီး web page မ်ားကို subject မ်ားအလုိက္ manually တည္ေဆာက္ထားပါတယ္။ ဒါေၾကာင့္ subject directory မ်ား၏ database မ်ားဟာ SE မ်ားႏွင့္ယွဥ္လုိက္လွ်င္ အလြန္ေသးငယ္ပါတယ္။ သုိ႔ေသာ္ လည္း လူမ်ားျဖင့္ ေရြးခ်ယ္စုစည္းထားသည့္အတြက္ေၾကာင့္ ပိုမုိတိက်ေသာ result မ်ားကို ရွာေဖြေဖာ္ျပေပးႏုိင္ ပါတယ္။ အသုံးမ်ားေသာ subject directory အခ်ဳိ႕မွာ-
directory.google.com
directory.yahoo.com
www.dmoz.org တုိ႔ျဖစ္ပါတယ္။
Basic Searching Method
ယခုဆက္လက္ၿပီးေတာ့ ပိုမုိတိက်ေသာ result မ်ား ရရွိေအာင္ ရွာေဖြႏုိင္သည့္ အေျခခံနည္းစနစ္မ်ားကို ေဖာ္ျပလုိပါတယ္။ ထုိနည္းစနစ္မ်ားသည္ search engine အမ်ားစုတုိ႔တြင္ အသုံးျပဳႏုိင္မည့္ အေျခခံအက်ဆုံး ေသာ နည္းစနစ္မ်ားပင္ျဖစ္ပါတယ္။ ၎တုိ႔မွာ-
(1) Search Engine Math
(2) Boolean Searching
(3) Field Searching တုိ႔ပဲျဖစ္ပါတယ္။
Search Engine Math
ပုိမုိ၍ တိက်ေကာင္းမြန္ေသာ result မ်ား ရရွိေအာင္ keyword မ်ားႏွင့္ အေပါင္း (+)၊ အႏႈတ္ (-)လကၡဏာ မ်ား တဲြဖက္အသုံးျပဳပုံကို ေဖာ္ျပေပးသြားပါမယ္။ ယခုေအာက္မွာေဖာ္ျပသြားမယ့္ tip မ်ားဟာ search engine အမ်ားစုမွာသုံးႏုိင္မည့္ အေျခခံအက်ဆုံးေသာ tip မ်ားပဲျဖစ္ပါတယ္။
Tip 1 ) "+" ကို ကုိယ္အဓိကလုိခ်င္တဲ့ အေရးႀကီးဆုံးျဖစ္တဲ့ keyword ရဲ႕ေရွ႕မွာ ထည့္ေပးရပါတယ္။ သေဘာ ကေတာ့ search engine ကုိ web page တုိင္းမွာ အဲဒီ keyword ပါရမယ္ဆုိၿပီး ရွာခုိင္းလုိက္တာျဖစ္ပါတယ္။
ဥပမာ - +challenger columbia
(+ႏွင့္ keyword ၾကားမွာ Space မျခားရပါ) result အေနနဲ႔ကေတာ့ search engine က ရွာေပးလုိက္တဲ့ web page တုိင္းမွာ "challenger" ဆုိတဲ့ စကားလုံး ပါပါလိမ့္မယ္။
Tip 2 ) "-" ကုိ ကုိယ္မလုိခ်င္တဲ့ keyword ရဲ႕ေရွ႕မွာ ထည့္ေပးရပါတယ္။ သေဘာကေတာ့ search engine ကုိ အဲဒီ keyword ပါတဲ့ web page မ်ားကို ဖယ္ထားခဲ့ဖုိ႔ ခုိင္းလုိက္တာ ျဖစ္ပါတယ္။
ဥပမာ - +challenger -columbia
Result အေနနဲ႔ကေတာ့ search engine ရွာေပးခုိင္းလုိက္တဲ့ web page တုိင္းမွာ "columbia" ဆုိတဲ့ စကား လုံး လုံး၀ပါလိမ့္မည္ မဟုတ္ပါ။
Tip 3 ) စကားလုံးတစ္လုံး မဟုတ္ပဲ စကားစုတစ္စုကို ရွာလုိတဲ့အခါမွာ double quotation " " ကုိ သုံးရပါ တယ္။ သေဘာကေတာ့ search engine ကို double quotation " " အမွတ္အသားထဲမွာရိွတဲ့ စကားစုအတုိင္း အတိအက်ပါတဲ့ web page မ်ားကိုသာ ရွာခုိင္းျခင္း ျဖစ္ပါတယ္။
ဥပမာ - "who moved my cheese"
result အေနနဲ႔ကေတာ့ who moved my cheese ဆုိတဲ့ စကားစုပါတဲ့ web page မ်ားကုိသာ ေဖာ္ျပပါလိမ့္ မယ္။
Tip 4 ) သခ်ာၤပညာရပ္မွာဆုိလွ်င္ သေကၤတ "~" သည္ အနီးစပ္ဆုံး approximately ဆုိတဲ့ သေဘာေဆာင္ တယ္ဆုိတာ အမ်ားသိၿပီး ျဖစ္ပါတယ္။ အဲဒီလုိ အမ်ားသိၿပီးျဖစ္တဲ့ မွတ္သားရလြယ္တဲ့ ဒီသေကၤတကို Google တြင္ အနီးစပ္ဆုံးအဓိပၸါယ္ဆင္တူသည့္ စကားလုံးမ်ားကို ရွာေဖြႏုိင္သည့္ operator တစ္ခုအျဖစ္ အသုံးျပဳႏုိင္ ပါတယ္။
စကားလုံးတစ္လုံး၏ေရွ႕မွာ Synonyms operator (~) ကုိ ထည့္သြင္းရွာေဖြတဲ့အခါမွာ ထုိစကားလုံးႏွင့္ အဓိပၸါယ္ဆင္တူေသာ အျခားစကားလုံးမ်ားကိုပါ ရွာေဖြေဖာ္ျပမွာျဖစ္ပါတယ္။
ဥပမာ health ~data ဟု ထည့္သြင္းရွာေဖြပါက data ႏွင့္ အဓိပၸါယ္ခ်င္းဆင္တူေသာ information ၊ statistic စကာလုံးမ်ားပါ၀င္ေသာ က်န္းမာေရးႏွင့္ဆုိင္သည့္ web page မ်ားကုိ ရရွိပါလိမ့္မည္။
အလားတူပင္ ~run ဟုရွာေဖြလွ်င္လည္း run စကားလုံးႏွင့္ဆင္တူေသာ runners ၊ running ၊ marathon စကားလုံးမ်ားပါ၀င္ေသာ web page မ်ားကုိ ရရွိမွာျဖစ္ပါတယ္။
Tip 5 ) စကားစု (phrase) ႏွင့္စကားလုံးမ်ားကို +, - " " သေကၤတမ်ားႏွင့္တဲြသုံးပုံကို ေလ့လာၾကည့္ရေအာင္
ဥပမာ - +"white house" +clinton -lewinsky
သေဘာကေတာ့ search engine ကို white house ဆုိတဲ့ စကားစုပါရမယ္။ clinton ဆုိတဲ့ စကားလုံး ပါရ မယ္။ lewinsky ဆုိတဲ့စကားလုံးမပါတဲ့ web page မ်ားကို ရွာခုိင္းလုိက္တာျဖစ္ပါတယ္။
Tip 6 ) အခ်ဳိ႕ေသာ search engine မ်ားဟာ case sensitive ျဖစ္ပါတယ္။ စကားလုံးတစ္လုံးကို စာလုံးအေသး (lower case) နဲ႔ ရွာခုိင္းရင္ အေသးေရာ အႀကီးပါ (၂)မ်ဳိးစလုံးပါတဲ့ web page မ်ားကို ရွာေပးပါလိမ့္မယ္။
ဥပမာ - minister
result အေနနဲ႔ကေတာ့ minister ႏွင့္ Minister (၂)မ်ဳိးစလုံးပါေသာ web page မ်ားကို ေဖာ္ျပပါလိမ့္မယ္။
စာလုံးအႀကီး (upper case) နဲ႔ ရွာခုိင္းရင္ေတာ့ လုံး၀ထပ္တူညီတဲ့ စကားလုံးပါေသာ web page မ်ားကုိသာ ရွာေပးပါလိမ့္မယ္။
ဥပမာ - Minister
result အေနနဲ႔ကေတာ့ Minister ဆုိတဲ့ စကားလုံးပါေသာ web page မ်ားကိုသာ ေဖာ္ျပပါလိမ့္မယ္။
မွတ္ခ်က္။ ။ Google ျဖင့္ ရွာေဖြပါက case sensitive မျဖစ္ပါဘူး။ ဆုိရရင္ minister ျဖစ္ျဖစ္၊ Minister ျဖစ္ ေစ တူညီေသာ result ကုိ ရရွိေစမွာ ျဖစ္ပါတယ္။
Tip 7 ) Wild cords (*) ကုိ စကားလုံးတစ္လုံးတည္းကုိပဲ spelling အမ်ဳိးမ်ဳိးနဲ႔ တစ္ႀကိမ္ထဲမွာပဲ စုေပါင္းရွာခုိင္း ခ်င္ရင္ သုံးပါတယ္။
ဥပမာ - librar*
result အေနနဲ႔ကေတာ့ library, libraries, librarian အစရွိတဲ့ စကားလုံးပါ၀င္ေသာ web page မ်ားကို ေဖာ္ျပပါလိမ့္မယ္။
မွတ္ခ်က္။ ။ Google မွာေတာ့ * သည္ စကားလုံးတစ္လုံးကို ကုိယ္စားျပဳပါတယ္။
Boolean Searching
အဂၤလိပ္သခ်ာၤပညာရွင္ႀကီး George Boole (1815-1864) ေရးသားခဲ့ေသာ boolean logic ႏွင့္ boolean operator မ်ားျဖစ္သည့္ AND, OR ႏွင့္ NOT တုိ႔ကို စကားလုံး၊ စကားစုမ်ားႏွင့္ တဲြဖက္၍ တိက်ေသာ result မ်ား ရရွိေအာင္ သုံးစဲြပုံမ်ားကို ေဖာ္ျပသြားပါမယ္။
Boolean "OR"
"OR" operator ကုိ အသုံးျပဳၿပီး search engine မွာ ရွာမယ္ဆုိရင္ ကုိယ္ထည့္ရွာခုိင္းလုိက္တဲ့ keyword မ်ား ထဲမွ အနည္းဆုံး (၁)ခု ပါတဲ့ web page ေတြေရာ၊ (၂)ခုစလုံးပါတဲ့ web page ေတြေရာ ေဖာ္ျပေပးပါလိမ့္မယ္။ ဒါေၾကာင့္ keyword မ်ားမ်ားပုိသုံးေလ ရလာမယ့္ result က မ်ားေလေလ ျဖစ္ပါလိမ့္မယ္။ "OR" operator ကို အဓိပၸါယ္ဆင္တူတဲ့ စကားလုံးေတြ၊ ဒါမွမဟုတ္ အက်ဳိးအေၾကာင္း ဆက္စပ္မႈရိွေသာ စကားလုံးမ်ားႏွင့္ အမ်ားဆုံး တဲြသုံးေလ့ရွိပါတယ္။
(ဆက္လက္ေဖာ္ျပပါဦးမည္)
Ref: မ်ဳိးသူရ (အင္တာနက္မွ ရွာေဖြနည္းမ်ား)
Labels:
Hacking Google (အင္တာနက္မွ ရွာေဖြနည္းမ်ား)
Search Engine Technology
What is Search Engine?
Search Engine (SE) ဆိုတာ Computer Program တစ္ခုကုိသုံးၿပီး Web page မ်ားကုိ စုစည္းထားေသာ ႀကီးမားသည့္ database ႀကီးတစ္ခုပဲျဖစ္ပါတယ္။ ဘာနဲ႔အလားသ႑ာန္တူသလဲဆုိေတာ့ စာၾကည့္တုိက္မ်ားမွာ Card Catalogue အသုံးျပဳပုံ ႏွင့္ ဆင္တူပါတယ္။ ဆုိရရင္ စာၾကည့္တုိက္သြားၿပီး ကုိယ္သိခ်င္တဲ့ အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကုိ ရွာေဖြတဲ့ အခါမွာ စာၾကည့္တုိက္ထဲက ရွိသမွ်စာအုပ္အားလုံးကုိ လုိက္ဖတ္ၿပီး ရွာမယ္ဆုိရင္ လက္ေတြ႕အားျဖင့္ မျဖစ္ႏုိင္ပါဘူး။ Card Catalogue ကုိ အသုံးျပဳၿပီး ရွာမွသာလွ်င္ ကုိယ္သိခ်င္တဲ့ အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကို လြယ္ကူလ်င္ျမန္စြာ ရရွိပါလိမ့္မယ္။ဒီသေဘာအတုိင္းပါပဲ Internet ေပၚမွာ Web Page ေပါင္းသန္းနဲ႔ခ်ီၿပီးရွိပါတယ္။ မိနစ္တုိင္းမွာ ထပ္တုိးလာတဲ့ web page မ်ားရွိသလုိ ရွိၿပီးသား page မ်ားဟာလည္း Update လုပ္ၿပီး ေျပာင္းလဲေနတတ္ပါတယ္။ ဒါေၾကာင့္ manually ရွာမယ္ဆုိရင္ ဘယ္လုိမွ မျဖစ္ႏုိင္ပါဘူး။ ဒါေပမယ့္ Search Engine မ်ားကို သုံးၿပီးရွာမယ္ဆုိရင္ေတာ့ ကုိယ္ရခ်င္တဲ့အေၾကာင္းအရာ၊ သတင္းအခ်က္အလက္မ်ားကို စကၠန္႔ပုိင္းအတြင္း ရရွိပါလိမ့္မယ္။ ဒါေၾကာင့္ အလြယ္ကူဆုံးႏွင့္ အရွင္းဆုံးေျပာရရင္ Search Engine ဆုိတာ Web Page မ်ားကို ရွာေဖြေပးတဲ့ Service တစ္ခုပဲျဖစ္ပါတယ္။ဒီေနရာမွာ Search Engine (SE) မ်ားႏွင့္ပါတ္သက္ၿပီး သိထားသင့္ေသာ အေရးႀကီးဆုံး အခ်က္တစ္ခ်က္ကို ပထမဦးစြာ ေဖာ္ျပလုိပါတယ္။ အဲဒါကေတာ့ SE မ်ားကို အသုံးျပဳ၍ မိမိအလုိရွိေသာ web page မ်ား၊ website မ်ားကို ရွာေဖြျခင္းသည္ အင္တာနက္ေပၚတြင္ တုိက္႐ုိက္ရွာေဖြျခင္းမဟုတ္ပဲ SE မ်ားမွ ဖဲြ႕စည္းတည္ေဆာက္ထားေသာ database ထဲတြင္ ရွာေဖြျခင္း ျဖစ္တယ္ဆုိတာကို သိထားဖုိ႔ လုိပါတယ္။
Functions of Search Engine
SE အားလုံးတုိ႔၏ လုပ္ေဆာင္မႈမ်ားသည္ အေျခခံသေဘာတရားအားျဖင့္ အတူတူပင္ျဖစ္ၾကပါတယ္။ ဆုိရရင္ မည္သည့္ SE မဆုိ Collecting, Organizing, Indexing ႏွင့္ Serving Result ဟူေသာ လုပ္ငန္းစဥ္ေလးခုကုိ အေျခခံပါတယ္။ သုိ႔ေသာ္ အဲဒီလုပ္ငန္းစဥ္ေလးခုကို ေဖာ္ေဆာင္တဲ့အခါမွာေတာ့ SE တစ္ခုႏွင့္တစ္ခု မတူညီေသာ ကုိယ္ပုိင္ Technic မ်ား၊ Algorithm မ်ားကို အသုံးျပဳၾကၿပီး ထုိနည္းပညာသေဘာတရားမ်ားကုိ တင္းတင္းၾကပ္ၾကပ္ လွ်ဳိ႕၀ွက္ထားေလ့ရွိပါတယ္။အက်ဥ္းခ်ဳပ္အားျဖင့္ SE မ်ားရဲ႕ လုပ္ေဆာင္ပုံမ်ားကုိ ေအာက္ပါအတုိင္း ခဲြျခားသတ္မွတ္ႏုိင္ပါတယ္။(1) Crawling the internet for web contents(2) Indexing we web contents(3) Storing the web contents(4) Search algorithm and results
Crawling the Web
webpage တုိင္းမွာ အျခားေသာ webpage (သုိ႔) website တစ္ခုဆီသုိ႔ ကူးေျပာင္းႏုိင္တဲ့ Link မ်ားရွိတယ္ဆုိတာကုိ သိၾက ၿပီးျဖစ္ပါလိမ့္မယ္။ Crawling လုပ္တယ္ဆုိတာကေတာ့ အဲဒီ Link မ်ားမွတဆင့္ Website တစ္ခုမွ တစ္ခုသို႔ ကူးေျပာင္းၿပီး ထုိ Website မ်ားအတြင္းတြင္ရွိေသာ information မ်ား (ပုံမ်ား၊ စာသားမ်ား) ကုိ Search Engine ၏ Database ထဲတြင္ သုိေလွာင္သိမ္းဆည္းထားဖုိ႔ရန္အတြက္ Program တစ္ခုအသုံးျပဳၿပီး ရယူစုေဆာင္းေလ့ရွိေသာ နည္းစနစ္တစ္ခုပင္ ျဖစ္ပါ တယ္။ ထုိ Program ကို Crawler, Spider, Robot, Harvest အစရွိသျဖင့္ အမည္အမ်ဳိးမ်ဳိးျဖင့္ ေခၚေ၀ၚသုံးစဲြေလ့ရွိပါတယ္။Crawler program သည္ website တစ္ခုမွတစ္ခုဆီသုိ႔ hyperlink မ်ားမွတဆင့္ ကူးေျပာင္းသြားလာၿပီး သူျဖတ္သန္းခဲ့ သမွ်ေသာ webpage မ်ားကုိ မိတၱဴကူးယူစုေဆာင္း၍ ဌာေန Search Engine ဆီသုိ႔ ျပန္ပုိ႔ေပးႏုိင္ေသာ software program တစ္ခုပင္ျဖစ္ပါတယ္။Search Engine မ်ားတြင္ Crawler ရဲ႕ အခန္းက႑သည္လည္း လြန္စြာမွ အေရးပါလွပါတယ္။ Crawler မ်ားကို တၿပိဳင္နက္ တည္း website ေပါင္းမ်ားစြာကုိ ခ်ိတ္ဆက္ Crawl လုပ္ႏုိင္ေစရန္ ဖန္တီးထားပါတယ္။Google မွာဆုိရင္ Googlebot လုိ႔ေခၚတ့ဲ ခ်ိတ္ဆက္မႈေပါင္း 300 ခန္႔ကို တၿပိဳင္နက္ျပဳလုပ္ႏုိင္သည့္ Crawler program ေလးခုကုိ အသုံးျပဳၿပီး တစ္စကၠန္႔အတြင္းမွာ Web Page ေပါင္း 100 ခန္႔ကုိ download လုပ္ႏုိင္ပါတယ္။ သုိ႔မွသာ အင္တာနက္ေပၚရွိ ဘီလီယံႏွင့္ခ်ီေသာ website မ်ားအတြင္းပါ၀င္ေသာ အေၾကာင္း အရာမ်ားကို ျမန္ႏုိင္သမွ် ျမန္ျမန္ မၾကာခဏ ျပန္လည္ crawl လုပ္ႏုိင္ျခင္းအားျဖင့္ update ျဖစ္ေသာ result မ်ားကုိ ထုတ္ေပးႏုိင္မွာျဖစ္ပါတယ္။အထူးသျဖင့္ေတာ့ ကမၻာအရပ္ရပ္မွ ေနာက္ဆုံးသတင္းမ်ားကို result မ်ားတြင္ ေဖာ္ျပႏုိင္ေစရန္ သတင္း မီဒီယာ website မ်ား (CNN, BBC) ကုိေတာ့ နာရီပုိင္းအတြင္း ျပန္လည္ crawl လုပ္ေလ့ရွိပါတယ္။Crawler မ်ားသည္ website မ်ားအတြင္းရွိ သတင္းအခ်က္အလက္မ်ားကို ရယူစုေဆာင္းတဲ့ေနရာမွာ ထုိ website ပုိင္ရွင္မ်ားမွ သတ္မွတ္ထားေသာ တားျမစ္ခ်က္မ်ားကို လုိက္နာေဆာင္ရြက္ရပါတယ္။ ဆုိရရင္ website ပုိင္ရွင္မ်ားသည္ မိမိတုိ႔ website အတြင္းမွ crawl မလုပ္ေစလုိေသာ File အမည္မ်ား၊ Folder အမည္ မ်ားကို ထည့္သြင္းေဖာ္ျပထားတဲ့ "robot.txt" ဆုိတဲ့ file ကို ေရးဖဲြ႕ၿပီး website ၏ root directory ေအာက္တြင္ ထည့္သြင္းထားေလ့ရွိပါတယ္။ http://www.w3.org/robot.txt http://www.mit.edit/robot.txtCrawler မ်ားသည္ website တစ္ခုသုိ႔ ေရာက္လာတဲ့အခါမွာ ပထမဦးဆုံး robot.txt ကုိ သြားေရာက္ဖတ္႐ႈ႕ ၿပီး ထုိ file အတြင္းပါ ၫႊန္ၾကားခ်က္မ်ားကို လုိက္နာေဆာင္ရြက္ရပါတယ္။Indexing the Web Content
Search Engine မ်ားသည္ crawler မ်ားမွ မိတၱဴကူးယူလာခဲ့ေသာ webpage တစ္ခုစီတြင္ ပါရွိသည့္ စကားလုံးမ်ားကို ေရြးခ်ယ္ထုတ္ႏုတ္ၿပီး index တစ္ခုတည္ေဆာက္ရပါတယ္။ ထုိ index မ်ားသည္ စာအုပ္မ်ား၏ ေနာက္တြင္ပါေလ့ရွိေသာ အၫႊန္း index မ်ားႏွင့္ ဆင္တူၿပီး SE အသုံးျပဳသူ User မ်ားမွ keyword မ်ားကို အသုံးျပဳ၍ webpage မ်ားကိုိ ရွာေဖြႏုိင္ေစရန္အတြက္ ျဖစ္ပါတယ္။Index တစ္ခုတည္ေဆာက္မႈေကာင္းလွ်င္ ေကာင္းသလုိ ပုိမုိျပည့္စုံေသာ result page မ်ားကို ေဖာ္ျပႏုိင္ျခင္း ၊ အခ်ိန္အနည္းငယ္အတြင္း result မ်ားကို ထုတ္ေပးႏုိင္ျခင္း အစရွိေသာ အက်ဳိးေက်းဇူးမ်ားကို ရရွိေစမွာ ျဖစ္သည့္အတြက္ေၾကာင့္ SE တစ္ခုရဲ႕ေအာင္ျမင္မႈသည္ index ကုိ ဘယ္လုိတည္ေဆာက္အသုံးျပဳသလဲ ဆုိတဲ့ အခ်က္အေပၚမွာလည္း မ်ားစြာမူတည္ပါတယ္။Search Engine မ်ားသည္ Indexing ျပဳလုပ္ႏုိင္ရန္အတြက္ Parser လုိ႔ေခၚတဲ့ program ကုိ အသုံးျပဳ၍ စကားလုံးမ်ားကို ေရြးခ်ယ္ထုတ္ႏုတ္ေလ့ရွိပါတယ္။ ဆုိရရင္ parser program သည္ webpage မ်ားထဲမွ stop words လုိ႔ေခၚသည့္ a, an, the, by ... အစရွိေသာ အသုံးမ်ားသည့္ စကားလုံးမ်ား၊ Meta tags မ်ား၊ Javascripts မ်ားကုိ ဖယ္ရွားၿပီး webpage အတြင္းရွိ အေၾကာင္းအရာကို ကုိယ္စားျပဳႏုိင္မည့္ စကားလုံးမ်ားကို သာ Index တည္ေဆာက္ရန္ ေရြးခ်ယ္ထုတ္ယူေပးႏုိင္ပါတယ္။Google အျခားေသာ SE မ်ားကဲ့သုိ႔ SE မ်ားကဲ့သုိ႔ title မ်ားသာ၊ webpage ရဲ႕ အစပုိင္းမွ်သာ index လုပ္ျခင္းမ်ဳိးမဟုတ္ပဲ webpage တစ္ခုလုံးကို index လုပ္ထားေသာ full-text search engine အမ်ဳိးအစား ျဖစ္ ပါတယ္။World Wide Web သည္ အၿမဲတမ္းေျပာင္းလဲေနတတ္သည့္ အတြက္ေၾကာင့္ crawler မ်ားမွ ယေန႔ရယူ စုေဆာင္းခဲ့ေသာ webpage မ်ားသည္ မနက္ျဖန္မွာ ရွိေနဖုိ႔ရန္ မေသခ်ာသလုိ၊ ယေန႔မရွိေသးေသာ္လည္း မနက္ျဖန္တုိင္းမွာ အသစ္သစ္ေသာ webpage မ်ား ထြက္ေပၚလာေလ့ရွိပါတယ္။ ဒါေၾကာင့္ Google ကဲ့သုိ႔ေသာ SE မ်ားတြင္ တစ္ခါ claw လုပ္ၿပီးတုိင္း update ျဖစ္ေသာ result မ်ားကို ထုတ္ျပန္ႏုိင္ရန္အတြက္ index ေတြကုိလည္း update လုပ္ေလ့ရွိပါတယ္။
Storing the Web Content
SE မ်ား၏ database ထဲတြင္ index အျပင္ webpage တစ္ခုခ်င္းအလုိက္ကုိလည္း သုိေလွာင္သိမ္းဆည္း ထားပါတယ္။ ဒါေၾကာင့္ ဘီလီယံႏွင့္ခ်ီေသာ webpage မ်ားကို သုိေလွာင္သိမ္းဆည္းထားရသည့္အတြက္ ေၾကာင့္ SE တစ္ခု၏ storage ပမာဏ သည္ လြန္စြာႀကီးမားလွၿပီး tetrabyte ( 10 12 =1000GB ) ေပါင္းမ်ားစြာ အထိရွိတတ္ပါတယ္။ အဲဒီလုိ data ပမာဏပုိမုိသိုေလွာင္ထားႏုိင္ေလ အသုံးျပဳသူမ်ားအား ပုိမုိျပည့္စုံေသာ result မ်ားကို ထုတ္ေပးႏုိင္ေလ ျဖစ္ပါလိမ့္မယ္။
Search and Rank Algorithm
အသုံးျပဳသူမ်ားသည္ မိမိတုိ႔ရွာေဖြလိုေသာ အေၾကာင္းအရာႏွင့္ သက္ဆုိင္သည့္ စကားလုံးမ်ားကို keyword အျဖစ္ ထည့္သြင္းရွာေဖြလုိက္တဲ့အခါမွာ SE သည္ ထုိ keyword မ်ားႏွင့္ တစ္ထပ္တည္းတူညီေသာစကားလုံး မ်ားကို index ျဖင့္ တုိက္ဆုိင္စစ္ေဆးရွာေဖြ၍ ရရွိလာသည့္ အထဲကမွ ဘယ္ webpage မ်ားသည္ ရွာေဖြမႈႏွင့္ လုိက္ဖက္မႈ အရွိဆုံးလဲ ဆုိတာကုိ ဆုံးျဖတ္ၿပီး ထုိ webpage မ်ားကို ဦးစားေပးေရွ႕မွာထားၿပီး တန္းစီေဖာ္ျပမွာ ျဖစ္ပါတယ္။
အဲဒီလုိ မွန္ကန္ေသာ result မ်ားကို ေဖာ္ျပႏုိင္ေစရန္အတြက္ SE တုိင္းတြင္ အျခားမည္သည့္ SE ႏွင့္မွ မတူ ညီႏုိင္ေသာ algorithm လုိ႔ေခၚတဲ့ ကုိယ္ပုိင္နည္းစနစ္မ်ားကို သတ္မွတ္အသုံးျပဳေလ့ရွိပါတယ္။ ထုိ algorithm မ်ား မတူညီမႈေၾကာင့္ keyword တူေသာ္လည္း SE မတူပါက ရလာမည့္ result မ်ားသည္လည္း မတူညီပဲ ကဲြျပားတာကုိ ေတြ႕ရပါလိမ့္မယ္။
SE တစ္ခု၏ေအာင္ျမင္မႈသည္ အသုံးျပဳေသာ algorithm မ်ားသည္ ရွာေဖြမႈႏွင့္ လုိက္ဖက္မႈရွိေသာ result page မ်ားကို ရွာေဖြေဖာ္ျပႏုိင္စြမ္းရွိမရွိေပၚတြင္ မ်ားစြာမူတည္ပါတယ္။ ဒါေၾကာင့္ အင္တာနက္ေပၚတြင္ SE ေပါင္း မ်ားစြာရွိသည့္အနက္ တိက်ေသာ result မ်ားကို ရွာေဖြေဖာ္ျပေပးႏုိင္ေသာ algorithm ေၾကာင့္ Google သည္ လူသုံးအမ်ားဆုံးႏွင့္ ေအာင္ျမင္မႈအရွိဆုံး SE အျဖစ္ ရပ္တည္လွ်က္ ရွိျခင္းပင္ျဖစ္ပါတယ္။
Google သည္ result မ်ား အစီအစဥ္တက်ေဖာ္ျပႏုိင္ေစရန္အတြက္ "PageRank" algorithm အပါအ၀င္ အျခားေသာ ရာႏွင့္ခ်ီသည့္ အေျခခံအေၾကာင္းအရင္းမ်ားေပၚတြင္ အလုိေလွ်ာက္တြက္ခ်က္ ဆုံးျဖတ္ပါတယ္။ ထုိရာႏွင့္ခ်ီေသာ အေျခခံအေၾကာင္းအရင္းမ်ားစြာတုိ႔ထဲမွ အဓိကအေရးပါေသာ အခ်က္ႏွစ္ခ်က္ျဖစ္သည့္ content analysis ႏွင့္ Link Popularity တုိ႔ကို အနည္းငယ္ ရွင္းျပလုိပါတယ္..။
Content Analysis
Webpage တစ္ခုစီတြင္ ပါ၀င္ေသာ အေၾကာင္းအရာသည္ ရွာေဖြမႈႏွင့္ ဘယ္ေလာက္အတုိင္းအတာထိ လုိက္ဖက္မႈ ရွိမရွိ ဆုိတာကုိ မိမိထည့္သြင္းရွာေဖြခုိင္းလုိက္ေသာ keyword မ်ားအား ေတြ႕ရွိရမႈ အႀကိမ္အေရ အတြက္၊ ေတြ႕ရွိရေသာေနရာ (title, heading) ၊ font size ႏွင့္ keyword မ်ားအၾကား တစ္ခုႏွင့္တစ္ခု တည္ရွိ မႈ အကြာအေ၀းတုိ႔ေပၚတြင္ မူတည္၍ တြက္ထုတ္ပါသည္။
Link Popularity
Webpage တစ္ခုရဲ႕အေရးပါ အရာေရာက္မႈကို ထုိ webpage ကို အျခား webpage ဘယ္ေလာက္မ်ားမ်ားမွ လာေရာက္ခ်ိတ္ဆက္ထားသလဲေပၚမွာ မူတည္ဆုံးျဖတ္ပါတယ္။ အဲဒီ Link ေတြထဲမွာ နာမည္ေက်ာ္လူသုံးမ်ား ေသာ website ႏွင့္ ခ်ိတ္ဆက္ထားေသာ link မ်ား ပါရွိပါကလည္း ပုိၿပီး ဦးစားေပးေဖာ္ျပခံရမွာ ျဖစ္ပါတယ္။
Life of a Google Query
SE မ်ား၏ database ထဲတြင္ index အျပင္ webpage တစ္ခုခ်င္းအလုိက္ကုိလည္း သုိေလွာင္သိမ္းဆည္း ထားပါတယ္။ ဒါေၾကာင့္ ဘီလီယံႏွင့္ခ်ီေသာ webpage မ်ားကို သုိေလွာင္သိမ္းဆည္းထားရသည့္အတြက္ ေၾကာင့္ SE တစ္ခု၏ storage ပမာဏ သည္ လြန္စြာႀကီးမားလွၿပီး tetrabyte ( 10 12 =1000GB ) ေပါင္းမ်ားစြာ အထိရွိတတ္ပါတယ္။ အဲဒီလုိ data ပမာဏပုိမုိသိုေလွာင္ထားႏုိင္ေလ အသုံးျပဳသူမ်ားအား ပုိမုိျပည့္စုံေသာ result မ်ားကို ထုတ္ေပးႏုိင္ေလ ျဖစ္ပါလိမ့္မယ္။
Search and Rank Algorithm
အသုံးျပဳသူမ်ားသည္ မိမိတုိ႔ရွာေဖြလိုေသာ အေၾကာင္းအရာႏွင့္ သက္ဆုိင္သည့္ စကားလုံးမ်ားကို keyword အျဖစ္ ထည့္သြင္းရွာေဖြလုိက္တဲ့အခါမွာ SE သည္ ထုိ keyword မ်ားႏွင့္ တစ္ထပ္တည္းတူညီေသာစကားလုံး မ်ားကို index ျဖင့္ တုိက္ဆုိင္စစ္ေဆးရွာေဖြ၍ ရရွိလာသည့္ အထဲကမွ ဘယ္ webpage မ်ားသည္ ရွာေဖြမႈႏွင့္ လုိက္ဖက္မႈ အရွိဆုံးလဲ ဆုိတာကုိ ဆုံးျဖတ္ၿပီး ထုိ webpage မ်ားကို ဦးစားေပးေရွ႕မွာထားၿပီး တန္းစီေဖာ္ျပမွာ ျဖစ္ပါတယ္။
အဲဒီလုိ မွန္ကန္ေသာ result မ်ားကို ေဖာ္ျပႏုိင္ေစရန္အတြက္ SE တုိင္းတြင္ အျခားမည္သည့္ SE ႏွင့္မွ မတူ ညီႏုိင္ေသာ algorithm လုိ႔ေခၚတဲ့ ကုိယ္ပုိင္နည္းစနစ္မ်ားကို သတ္မွတ္အသုံးျပဳေလ့ရွိပါတယ္။ ထုိ algorithm မ်ား မတူညီမႈေၾကာင့္ keyword တူေသာ္လည္း SE မတူပါက ရလာမည့္ result မ်ားသည္လည္း မတူညီပဲ ကဲြျပားတာကုိ ေတြ႕ရပါလိမ့္မယ္။
SE တစ္ခု၏ေအာင္ျမင္မႈသည္ အသုံးျပဳေသာ algorithm မ်ားသည္ ရွာေဖြမႈႏွင့္ လုိက္ဖက္မႈရွိေသာ result page မ်ားကို ရွာေဖြေဖာ္ျပႏုိင္စြမ္းရွိမရွိေပၚတြင္ မ်ားစြာမူတည္ပါတယ္။ ဒါေၾကာင့္ အင္တာနက္ေပၚတြင္ SE ေပါင္း မ်ားစြာရွိသည့္အနက္ တိက်ေသာ result မ်ားကို ရွာေဖြေဖာ္ျပေပးႏုိင္ေသာ algorithm ေၾကာင့္ Google သည္ လူသုံးအမ်ားဆုံးႏွင့္ ေအာင္ျမင္မႈအရွိဆုံး SE အျဖစ္ ရပ္တည္လွ်က္ ရွိျခင္းပင္ျဖစ္ပါတယ္။
Google သည္ result မ်ား အစီအစဥ္တက်ေဖာ္ျပႏုိင္ေစရန္အတြက္ "PageRank" algorithm အပါအ၀င္ အျခားေသာ ရာႏွင့္ခ်ီသည့္ အေျခခံအေၾကာင္းအရင္းမ်ားေပၚတြင္ အလုိေလွ်ာက္တြက္ခ်က္ ဆုံးျဖတ္ပါတယ္။ ထုိရာႏွင့္ခ်ီေသာ အေျခခံအေၾကာင္းအရင္းမ်ားစြာတုိ႔ထဲမွ အဓိကအေရးပါေသာ အခ်က္ႏွစ္ခ်က္ျဖစ္သည့္ content analysis ႏွင့္ Link Popularity တုိ႔ကို အနည္းငယ္ ရွင္းျပလုိပါတယ္..။
Content Analysis
Webpage တစ္ခုစီတြင္ ပါ၀င္ေသာ အေၾကာင္းအရာသည္ ရွာေဖြမႈႏွင့္ ဘယ္ေလာက္အတုိင္းအတာထိ လုိက္ဖက္မႈ ရွိမရွိ ဆုိတာကုိ မိမိထည့္သြင္းရွာေဖြခုိင္းလုိက္ေသာ keyword မ်ားအား ေတြ႕ရွိရမႈ အႀကိမ္အေရ အတြက္၊ ေတြ႕ရွိရေသာေနရာ (title, heading) ၊ font size ႏွင့္ keyword မ်ားအၾကား တစ္ခုႏွင့္တစ္ခု တည္ရွိ မႈ အကြာအေ၀းတုိ႔ေပၚတြင္ မူတည္၍ တြက္ထုတ္ပါသည္။
Link Popularity
Webpage တစ္ခုရဲ႕အေရးပါ အရာေရာက္မႈကို ထုိ webpage ကို အျခား webpage ဘယ္ေလာက္မ်ားမ်ားမွ လာေရာက္ခ်ိတ္ဆက္ထားသလဲေပၚမွာ မူတည္ဆုံးျဖတ္ပါတယ္။ အဲဒီ Link ေတြထဲမွာ နာမည္ေက်ာ္လူသုံးမ်ား ေသာ website ႏွင့္ ခ်ိတ္ဆက္ထားေသာ link မ်ား ပါရွိပါကလည္း ပုိၿပီး ဦးစားေပးေဖာ္ျပခံရမွာ ျဖစ္ပါတယ္။
Life of a Google Query
Type of Search Engine
Search engine မွာ အဓိကအားျဖင့္ (၂)မ်ဳိးရွိပါတယ္။ individual search engine နဲ႔ metasearch engine တုိ႔ျဖစ္ပါတယ္။ ထုိ search engine (၂)မ်ဳိးအျပင္ search လုပ္ႏုိင္ေသာ ေနာက္တစ္မ်ဳိးရွိပါေသးတယ္။ အဲဒါက ေတာ့ subject directory ပဲ ျဖစ္ပါတယ္။
Individual Search Engine
Web ေပၚမွာ ကုိယ္ပုိင္ database ရွိေသာ search engine မ်ားကို individual search engine လုိ႔ ေခၚပါ တယ္။ Individual search engine ေတြဟာ user မ်ားက ထည့္သြင္းရွာေဖြခုိင္းလုိက္တဲ့ keyword မ်ားကို အျခား သူတုိ႔၏ database ထဲမွာ ရွာေဖြျခင္း မရွိပါဘူး။ မိမိရဲ႕ကုိယ္ပုိင္ database တစ္ခုထဲမွာသာ ရွာေဖြၿပီး အဲဒီ keyword မ်ားပါရွိတဲ့ web page မ်ားကိုသာ result အျဖစ္ထုတ္ေပးပါတယ္။ အသုံးမ်ားေသာ individual search engine အခ်ဳိ႕မွာ-
www.google.com
www.altavista.com
www.gigablast.com
www.wisenut.com
www.askjeeves.com
www.teoma.com တုိ႔ျဖစ္ပါတယ္။
Metasearch Engine
Metasearch engine မ်ားသည္ ကုိယ္ပုိင္ database မ်ားတည္ေဆာက္ထားျခင္း မရွိပါဘူး။ user မ်ားက ထည့္သြင္းရွာေဖြခုိင္းလုိက္တဲ့ keyword မ်ားကို အျခား individual search engine မ်ား၏ database ထဲမွာ တစ္ၿပိဳင္နက္၀င္ေရာက္ရွာေဖြၿပီး အဲဒီ keyword မ်ားပါတဲ့ web page မ်ားကို result အျဖစ္ထုတ္ေပးပါတယ္။ database ေပါင္းမ်ားစြာကို အသုံးျပဳၿပီး ရွာေဖြေသာေၾကာင့္ ရလာသည့္ result မ်ားကလည္း ပုိၿပီးမ်ားပါလိမ့္ မယ္။ အသုံးမ်ားေသာ metasearch engine အခ်ဳိ႕မွာ-
www.metacrawler.com
www.webcrawler.com
www.qbsearch.com
www.vivisimo.com
www.dogpile.com တုိ႔ျဖစ္ပါတယ္။
Subject Directory
Subject Directory မ်ားသည္ သာမန္အသုံးျပဳေနၾက SE မ်ားႏွင့္ မတူပါဘူး SE မ်ားဟာ သူတုိ႔ရဲ႕ database မ်ားကို ကြန္ပ်ဴတာ program မ်ားျဖစ္ေသာ robot (သို႔) spider တုိ႔ကို အသုံးျပဳၿပီး တည္ေဆာက္ထားပါတယ္။ Subject Directory မ်ားမွာေတာ့ ကြန္ပ်ဴတာ program မ်ားကိုမသုံးပဲ ကၽြမ္းက်င္ေသာပညာရွင္မ်ားျဖင့္ အခ်ိန္ မ်ားစြာသုံးၿပီး web page မ်ားကို subject မ်ားအလုိက္ manually တည္ေဆာက္ထားပါတယ္။ ဒါေၾကာင့္ subject directory မ်ား၏ database မ်ားဟာ SE မ်ားႏွင့္ယွဥ္လုိက္လွ်င္ အလြန္ေသးငယ္ပါတယ္။ သုိ႔ေသာ္ လည္း လူမ်ားျဖင့္ ေရြးခ်ယ္စုစည္းထားသည့္အတြက္ေၾကာင့္ ပိုမုိတိက်ေသာ result မ်ားကို ရွာေဖြေဖာ္ျပေပးႏုိင္ ပါတယ္။ အသုံးမ်ားေသာ subject directory အခ်ဳိ႕မွာ-
directory.google.com
directory.yahoo.com
www.dmoz.org တုိ႔ျဖစ္ပါတယ္။
Basic Searching Method
ယခုဆက္လက္ၿပီးေတာ့ ပိုမုိတိက်ေသာ result မ်ား ရရွိေအာင္ ရွာေဖြႏုိင္သည့္ အေျခခံနည္းစနစ္မ်ားကို ေဖာ္ျပလုိပါတယ္။ ထုိနည္းစနစ္မ်ားသည္ search engine အမ်ားစုတုိ႔တြင္ အသုံးျပဳႏုိင္မည့္ အေျခခံအက်ဆုံး ေသာ နည္းစနစ္မ်ားပင္ျဖစ္ပါတယ္။ ၎တုိ႔မွာ-
(1) Search Engine Math
(2) Boolean Searching
(3) Field Searching တုိ႔ပဲျဖစ္ပါတယ္။
Search Engine Math
ပုိမုိ၍ တိက်ေကာင္းမြန္ေသာ result မ်ား ရရွိေအာင္ keyword မ်ားႏွင့္ အေပါင္း (+)၊ အႏႈတ္ (-)လကၡဏာ မ်ား တဲြဖက္အသုံးျပဳပုံကို ေဖာ္ျပေပးသြားပါမယ္။ ယခုေအာက္မွာေဖာ္ျပသြားမယ့္ tip မ်ားဟာ search engine အမ်ားစုမွာသုံးႏုိင္မည့္ အေျခခံအက်ဆုံးေသာ tip မ်ားပဲျဖစ္ပါတယ္။
Tip 1 ) "+" ကို ကုိယ္အဓိကလုိခ်င္တဲ့ အေရးႀကီးဆုံးျဖစ္တဲ့ keyword ရဲ႕ေရွ႕မွာ ထည့္ေပးရပါတယ္။ သေဘာ ကေတာ့ search engine ကုိ web page တုိင္းမွာ အဲဒီ keyword ပါရမယ္ဆုိၿပီး ရွာခုိင္းလုိက္တာျဖစ္ပါတယ္။
ဥပမာ - +challenger columbia
(+ႏွင့္ keyword ၾကားမွာ Space မျခားရပါ) result အေနနဲ႔ကေတာ့ search engine က ရွာေပးလုိက္တဲ့ web page တုိင္းမွာ "challenger" ဆုိတဲ့ စကားလုံး ပါပါလိမ့္မယ္။
Tip 2 ) "-" ကုိ ကုိယ္မလုိခ်င္တဲ့ keyword ရဲ႕ေရွ႕မွာ ထည့္ေပးရပါတယ္။ သေဘာကေတာ့ search engine ကုိ အဲဒီ keyword ပါတဲ့ web page မ်ားကို ဖယ္ထားခဲ့ဖုိ႔ ခုိင္းလုိက္တာ ျဖစ္ပါတယ္။
ဥပမာ - +challenger -columbia
Result အေနနဲ႔ကေတာ့ search engine ရွာေပးခုိင္းလုိက္တဲ့ web page တုိင္းမွာ "columbia" ဆုိတဲ့ စကား လုံး လုံး၀ပါလိမ့္မည္ မဟုတ္ပါ။
Tip 3 ) စကားလုံးတစ္လုံး မဟုတ္ပဲ စကားစုတစ္စုကို ရွာလုိတဲ့အခါမွာ double quotation " " ကုိ သုံးရပါ တယ္။ သေဘာကေတာ့ search engine ကို double quotation " " အမွတ္အသားထဲမွာရိွတဲ့ စကားစုအတုိင္း အတိအက်ပါတဲ့ web page မ်ားကိုသာ ရွာခုိင္းျခင္း ျဖစ္ပါတယ္။
ဥပမာ - "who moved my cheese"
result အေနနဲ႔ကေတာ့ who moved my cheese ဆုိတဲ့ စကားစုပါတဲ့ web page မ်ားကုိသာ ေဖာ္ျပပါလိမ့္ မယ္။
Tip 4 ) သခ်ာၤပညာရပ္မွာဆုိလွ်င္ သေကၤတ "~" သည္ အနီးစပ္ဆုံး approximately ဆုိတဲ့ သေဘာေဆာင္ တယ္ဆုိတာ အမ်ားသိၿပီး ျဖစ္ပါတယ္။ အဲဒီလုိ အမ်ားသိၿပီးျဖစ္တဲ့ မွတ္သားရလြယ္တဲ့ ဒီသေကၤတကို Google တြင္ အနီးစပ္ဆုံးအဓိပၸါယ္ဆင္တူသည့္ စကားလုံးမ်ားကို ရွာေဖြႏုိင္သည့္ operator တစ္ခုအျဖစ္ အသုံးျပဳႏုိင္ ပါတယ္။
စကားလုံးတစ္လုံး၏ေရွ႕မွာ Synonyms operator (~) ကုိ ထည့္သြင္းရွာေဖြတဲ့အခါမွာ ထုိစကားလုံးႏွင့္ အဓိပၸါယ္ဆင္တူေသာ အျခားစကားလုံးမ်ားကိုပါ ရွာေဖြေဖာ္ျပမွာျဖစ္ပါတယ္။
ဥပမာ health ~data ဟု ထည့္သြင္းရွာေဖြပါက data ႏွင့္ အဓိပၸါယ္ခ်င္းဆင္တူေသာ information ၊ statistic စကာလုံးမ်ားပါ၀င္ေသာ က်န္းမာေရးႏွင့္ဆုိင္သည့္ web page မ်ားကုိ ရရွိပါလိမ့္မည္။
အလားတူပင္ ~run ဟုရွာေဖြလွ်င္လည္း run စကားလုံးႏွင့္ဆင္တူေသာ runners ၊ running ၊ marathon စကားလုံးမ်ားပါ၀င္ေသာ web page မ်ားကုိ ရရွိမွာျဖစ္ပါတယ္။
Tip 5 ) စကားစု (phrase) ႏွင့္စကားလုံးမ်ားကို +, - " " သေကၤတမ်ားႏွင့္တဲြသုံးပုံကို ေလ့လာၾကည့္ရေအာင္
ဥပမာ - +"white house" +clinton -lewinsky
သေဘာကေတာ့ search engine ကို white house ဆုိတဲ့ စကားစုပါရမယ္။ clinton ဆုိတဲ့ စကားလုံး ပါရ မယ္။ lewinsky ဆုိတဲ့စကားလုံးမပါတဲ့ web page မ်ားကို ရွာခုိင္းလုိက္တာျဖစ္ပါတယ္။
Tip 6 ) အခ်ဳိ႕ေသာ search engine မ်ားဟာ case sensitive ျဖစ္ပါတယ္။ စကားလုံးတစ္လုံးကို စာလုံးအေသး (lower case) နဲ႔ ရွာခုိင္းရင္ အေသးေရာ အႀကီးပါ (၂)မ်ဳိးစလုံးပါတဲ့ web page မ်ားကို ရွာေပးပါလိမ့္မယ္။
ဥပမာ - minister
result အေနနဲ႔ကေတာ့ minister ႏွင့္ Minister (၂)မ်ဳိးစလုံးပါေသာ web page မ်ားကို ေဖာ္ျပပါလိမ့္မယ္။
စာလုံးအႀကီး (upper case) နဲ႔ ရွာခုိင္းရင္ေတာ့ လုံး၀ထပ္တူညီတဲ့ စကားလုံးပါေသာ web page မ်ားကုိသာ ရွာေပးပါလိမ့္မယ္။
ဥပမာ - Minister
result အေနနဲ႔ကေတာ့ Minister ဆုိတဲ့ စကားလုံးပါေသာ web page မ်ားကိုသာ ေဖာ္ျပပါလိမ့္မယ္။
မွတ္ခ်က္။ ။ Google ျဖင့္ ရွာေဖြပါက case sensitive မျဖစ္ပါဘူး။ ဆုိရရင္ minister ျဖစ္ျဖစ္၊ Minister ျဖစ္ ေစ တူညီေသာ result ကုိ ရရွိေစမွာ ျဖစ္ပါတယ္။
Tip 7 ) Wild cords (*) ကုိ စကားလုံးတစ္လုံးတည္းကုိပဲ spelling အမ်ဳိးမ်ဳိးနဲ႔ တစ္ႀကိမ္ထဲမွာပဲ စုေပါင္းရွာခုိင္း ခ်င္ရင္ သုံးပါတယ္။
ဥပမာ - librar*
result အေနနဲ႔ကေတာ့ library, libraries, librarian အစရွိတဲ့ စကားလုံးပါ၀င္ေသာ web page မ်ားကို ေဖာ္ျပပါလိမ့္မယ္။
မွတ္ခ်က္။ ။ Google မွာေတာ့ * သည္ စကားလုံးတစ္လုံးကို ကုိယ္စားျပဳပါတယ္။
Boolean Searching
အဂၤလိပ္သခ်ာၤပညာရွင္ႀကီး George Boole (1815-1864) ေရးသားခဲ့ေသာ boolean logic ႏွင့္ boolean operator မ်ားျဖစ္သည့္ AND, OR ႏွင့္ NOT တုိ႔ကို စကားလုံး၊ စကားစုမ်ားႏွင့္ တဲြဖက္၍ တိက်ေသာ result မ်ား ရရွိေအာင္ သုံးစဲြပုံမ်ားကို ေဖာ္ျပသြားပါမယ္။
Boolean "OR"
"OR" operator ကုိ အသုံးျပဳၿပီး search engine မွာ ရွာမယ္ဆုိရင္ ကုိယ္ထည့္ရွာခုိင္းလုိက္တဲ့ keyword မ်ား ထဲမွ အနည္းဆုံး (၁)ခု ပါတဲ့ web page ေတြေရာ၊ (၂)ခုစလုံးပါတဲ့ web page ေတြေရာ ေဖာ္ျပေပးပါလိမ့္မယ္။ ဒါေၾကာင့္ keyword မ်ားမ်ားပုိသုံးေလ ရလာမယ့္ result က မ်ားေလေလ ျဖစ္ပါလိမ့္မယ္။ "OR" operator ကို အဓိပၸါယ္ဆင္တူတဲ့ စကားလုံးေတြ၊ ဒါမွမဟုတ္ အက်ဳိးအေၾကာင္း ဆက္စပ္မႈရိွေသာ စကားလုံးမ်ားႏွင့္ အမ်ားဆုံး တဲြသုံးေလ့ရွိပါတယ္။
(ဆက္လက္ေဖာ္ျပပါဦးမည္)
Ref: မ်ဳိးသူရ (အင္တာနက္မွ ရွာေဖြနည္းမ်ား)
No comments:
Post a Comment