Turli xil qidiruv tizimlari. Izlash tizimini qanday yozish kerak

Yandex yoki Google kabi qidiruv tizimlari qanday ishlashi haqida hech o'ylab ko'rganmisiz? Agar siz yozish vazifasiga duch kelsangiz qidiruv tizimi  noldan, qaerdan boshlaysiz? Sizlarning ko'pchiligingiz allaqachon sodda tarkibli saytlarni ular uchun ichki qidiruv tizimi bilan yozgansiz va siz shunchaki - LIKE SQL sintaksisi buyrug'i bilan amalga oshirgansiz. Sizningcha, Yandex ham shunday ishlaydi? 🙂

Zamonaviy qidiruv tizimlarida joriy qilingan barcha mexanizmlar haqida gapirish bitta post vazifa emas (va men ko'p narsa aytib berolmayman 🙂), shuning uchun men bu erda qidiruv tizimlarining eng muhim va noma'lum qismi - indeks haqida gaplashaman. Ammo shoshilmaymiz.

Umuman olganda, butun qidiruv tizimini 3 qismga bo'lish mumkin: foydalanuvchi interfeysi, qidiruv agenti va indeks.

Foydalanuvchi interfeysi hammaga tanish - google.com, ya.ru. Odatda bu faqat qidiruv satridir. Qidiruv agenti - sahifalardagi matnlarni va ulardan URL manzillarini to'playdigan saytlarni aylanib o'tadigan dastur. Izlash agenti to'plangan ma'lumotni indeksda saqlaydi.
  Xo'sh, eng muhim qism - bu indeks, yoki qidirish bazasi  ma'lumotlar.

  Indeks qidiruv agentlari tomonidan to'plangan barcha ma'lumotlarni - Internet sahifalarini saqlaydi.

Umuman olganda, agentning vazifasi ma'lumot to'plashdir - u sayt sahifasiga tashrif buyuradi, u erdan matnni oladi, undan havolalarni chiqarib oladi va ularni matn bilan birga indeksga yuboradi. Ushbu lahzani batafsil ko'rib chiqish kerak, chunki u unda joylashgan asosiy ish  qidiruv tizimi

Indeksda ma'lumotlar qay darajada aniq saqlanadi? Indeks jadvallari qanday tuzilishga ega? Bu qidiruv tizimining asosiy tafsilotlaridan biridir.

Agar biz qidiruv tizimiga juda mavhum ko'rinadigan bo'lsak, unda indeksni uchta jadvalga bo'lish mumkin: lug'at, hujjatlar va havolalar.

Buni aniqroq qilish uchun uchta jadvalni tasavvur qiling:

maydonlar bilan so'zlar (lug'at):
  id, ism

maydonlar bilan hujjatlar:
  id, hujjat

va soha bilan aloqalar (munosabatlar):
  word_id, doc_id

Sahifadagi matnni indeksga qo'shmasdan oldin, qidiruv mexanizmi uni so'zlarga ajratadi. Hujjatdan so'zlar ro'yxatini olgandan so'ng, u o'z lug'atiga (so'zlar jadvaliga) u erda mavjud bo'lmagan so'zlarni qo'shadi. Va hujjatning o'zi hujjatlar jadvalida saqlanadi.
  Shundan so'ng munosabatlar jadvaliga so'z-hujjat munosabatlari qo'shilib, qaysi hujjatda qaysi so'zlar paydo bo'lishini aniqlaydi.

Qidiruv tizimlarida amalga oshiriladigan navbatdagi murakkab jarayon foydalanuvchining iltimosiga binoan ma'lumotni saralash va tartiblashdir.

Google.com saytiga kirganingizdan va "php" ni kiritganingizdan so'ng, juda murakkab mexanizm ishga tushiriladi, uning maqsadi sizga so'rovga tegishli hujjatlar ro'yxatini kerakli darajadagi tartibda ko'rsatishdir.

Bu qanday amalga oshiriladi? Bu erda hamma narsa juda murakkab. Birinchidan, qidiruv tizimi tegishli hujjatlarni - bu so'zlar paydo bo'lgan hujjatlarni tanlashi kerak. Yuqorida keltirilgan jadvallar yordamida, qanday qilib buni amalga oshirishni tasavvur qilish mumkin. Ammo tartiblashtirish (buyurtma berish) bilan muammolar har bir qidiruv tizimida o'z-o'zidan hal etila boshlaydi.

Bu erda juda murakkab klasterlash va tasniflash algoritmlari qo'llaniladi, ular barcha hujjatlarni guruhlarga ajratadilar va har bir hujjat uchun toifani aniqlaydilar. Zotan, ushbu toifalarga asoslanib, har bir hujjatning qanchalik muhimligi haqida ba'zi ma'lumotlar paydo bo'ladi. Ushbu omilga qo'shimcha ravishda, zamonaviy qidiruv tizimlari juda ko'p boshqalarni hisobga oladi.

Internetdagi qidirish mexanizmlarini (google, Yandex va boshqalar) nisbatan kichik ma'lumotlarni qidirish tizimlaridan ajratish to'g'ri bo'lishi kerak. Birinchisi ikkinchisiga qaraganda ancha katta bo'lib, ularning tuzilishi ancha murakkabligini anglatadi.

Kichik qidiruv tizimlari sfenks va lucen kabi loyihalarni o'z ichiga oladi.

Bu hammasi. Bunday kichik va foydali qidiruv tizimlariga ekskursiya. 🙂

Qo'shimcha ma'lumot.

"Veb-ustaxona" sohasiga yangi kelganlar (keling, buni shunday deb ataymiz) qaysidir ma'noda "qidirish mexanizmimni qo'zg'ash o'rniga" "ajoyib" g'oyani qo'lga kiritmoqdalar ?! reklama soting, talon-taroj qiling! ”. Tan olaman, men bilan shunday bo'ldi ... 3 marta.

Runet Search Engine - Yandex qotili

Men mavzu bo'yicha havolalarni to'pladim, o'rganishni boshladim, Aport va Yandeks-dan topib olganlarimning hammasini belkurak qildim. Men bir nechta bepul dvigatellarni o'rgimchaklar bilan yukladim, lekin ularni shunchaki qo'yish uchun etarli "bilim" yo'q edi. Ixtirolarga ehtiyoj juda qiyin: men katalogdan skriptni (ma'lumotlar bazasisiz, txt fayllarida) oldim, saytlar bazasini qidirib topdim va saytlar bilan to'ldirishni boshladim: avval o'zim, keyin moderator yolladim. Va siz nima deb o'ylaysiz? Albatta, g'oya amalga oshmadi, ammo keyinchalik kitoblar haqida ko'proq qidiruv tizimiga ega bo'lgan g'oyalar mavjud edi.

Kitob qidirish

Bir necha marotaba (2004-2007 yillarda, taxminan) shov-shuv ko'tarib, ikkita kitob oldim: Hummingbirds va Boleros, tanlashning sababi juda oson - ikkala holatda ham ushbu do'konlardagi tovarlarning ma'lumotlar bazasini sheriklarning interfeysidan yuklab olish mumkin edi. Ma'lumotlar bazalarida juda kam ma'lumotlar mavjud edi: kitobning nomi, muallif, do'kon veb-saytidagi manzil. Ammo bu katalog + qidiruv tizimini yaratish uchun etarli edi. Bundan tashqari, kitoblarda izohlar ham berildi (ular real vaqtda do'kon saytlaridan tahlil qilindi, ha, men o'sha paytda keshlashdan shubhalanmaganman va avtomatik qayta yo'naltirishlardan ham foydalanmaganman ...).

Kitob qidirish mexanizmi muvaffaqiyatli bo'lmadi, ammo katalog Yandex-dan transport moylari ohanglarini, mos ravishda kitoblarning sotilishini keltirdi. Xaridlarning aksariyati pochta orqali etkazib berildi, naqd pul bilan etkazib berildi, shuning uchun oylar davomida mening hisobimga tushumlarni kutishimga to'g'ri keldi ... Russian Post.

Google qotili

Mening ishimning asosiy yo'nalishi "burjua" da edi, xususan, PPC bilan, asosan Yumaks bilan ishladim va shuning uchun ularning qidirishini keyingi qidiruv tizimiga "vosita" sifatida tanladim. Men php bilan qurollanganman (aniqrog'i, kitoblar kataloglarini tahlili), men foydalanuvchining iltimosiga, rasmlarga va boshqalarga ko'ra chiqishga qo'shimcha ma'lumotlarni qo'shishni o'rgandim (huddi huddi shu kabi).

Va keyin go'zal voqea sodir bo'ldi. Qidiruv motorlar: Msn (hozirda Bing) va Google "mening qidiruv tizimim" natijalarini indekslashni boshladilar va trafikdan mamnun edilar, bu esa o'z navbatida Umaks tomonidan to'lab berildi.

Hamkasblarim eshiklarni ochishganda, men bunday qidirish mexanizmlarini: turli xil diza, turli xil manbalarni qidirib topdim qo'shimcha ma'lumotlar. Nega masalan, tematik mini-saytlarni qayta yo'naltirishsiz amalga oshirishingiz mumkin bo'lsa, qayta yo'naltirish tufayli taqiqni xavf ostiga qo'yib, trubkani trafikka qayta yo'naltirishingiz mumkin? Oq eshiklar, endi ular shunday nomlanganga o'xshaydi. Idil uzoq davom etmadi - bir yildan kamroq. Dastlab algoritmlarni msn-ga o'zgartirgandan so'ng, Google shunga o'xshash echimlarni ko'mdi (aniqrog'i, ularni ancha samaraliroq qildi).

MSN-dagi "tizim" qulashi paytida men taqiqlangan "qayg'u" domenlaridan birini - saytni oldim va unga avval biron bir forumda yoki reklama agentligi veb-saytida joylashtirilgan blogni o'tkazdim.

3 marta! 3 marotaba shunga o'xshash zilzilaga qadam qo'ydi: ba'zi odamlar hatto o'z xatolaridan saboq olishmaydi :)

Bizning yangiliklarimizga obuna bo'ling va blogga kirmaydigan narsalarni oling, e'lonlar va to'plamlar + bir nechta qo'llanmalar (obunachilarni to'plash va ma'lumotlarni sotish).

Qo'llanma

Qidiruv tizimingizni uch qismga bo'ling. Birinchi qism interfeysi  kelajakdagi veb-qidiruv tizimi yozilgan PHP tilida. Ikkinchi qism - bu sahifalar haqidagi barcha ma'lumotlarni saqlaydigan indeks (My SQL database). Uchinchi qism - bu veb-sahifalarni indekslaydigan va ularning ma'lumotlarini indeksga kiritadigan qidiruv roboti Delphi-da amalga oshiriladi.

Keling, interfeys yaratishni boshlaymiz. Index.php faylini yarating. Buning uchun jadvallar yordamida sahifani ikki qismga bo'ling. Birinchi qism qidiruv tizimi  shakl, ikkinchisi - qidiruv natijalari. Yuqori qismida, get usuli yordamida index.php fayliga ma'lumot yuboradigan shakl yarating. Uchtasi uning ustida joylashgan bo'ladi element  - matn oynasi va yana ikkita tugma. Yuborish uchun bitta tugma kerak edi talab  , ikkinchisi - maydonni tozalash (bu tugma ixtiyoriy).

Matn maydoniga "qidiruv" deb nom bering, birinchi tugma (so'rovni yuborgan) "Izlash" nomini bering. Formaning nomini xuddi shunday qoldiring - "form1".

Konfiguratsiya faylini quyidagiga ulang ulang  ma'lumotlar bazasiga.

o'z ichiga "config.php";

"Izlash" tugmachasi bosilganligini tekshiring.

if (isset ($ _ GET ["tugmasi"])) ("Qidirish" tugmachasi bosilganda bajariladigan kod) (yana "" Qidirish "tugmachasi bosilmasa bajariladigan kod)

Agar tugma bosilsa, qidiruv so'rovini tekshiring.

agar (isset ($ _ GET ["qidirish"])) ($ qidirish \u003d $ _ GET ["qidirish"];)

Agar qidiruv so'rovi  bo'ladi, keyin qidiruv so'rovining matnini $ search o'zgaruvchisiga tayinlang.

if ($ search! \u003d "" && strlen ($ search)\u003e 2) (ma'lumotlar bazasini qidirish kodi) else (echo "Bo'sh qidiruv so'rovi  yoki qidirish satrida 3 tadan kam belgilar mavjud. ";)

Agar qidirish so'rovi yuqori shartga javob bersa, qidiruv skriptini o'zi ishga tushiring.

Qidiruv natijalarini ko'rsatadigan pastadirni ishga tushiring orqali  printf.
Hammasi shu. Agar siz kerakli ma'lumotga ega bo'lsangiz, unda qidiruv tizimiga kerakli elementlarni qo'shishingiz va uni yaratish uchun o'z algoritmingizni yaratishingiz mumkin.

Ommabop veb-saytlar foydalanuvchilarni nafaqat o'ziga xos dizayni, qiziqarli tematik tarkibi, balki funktsional xizmatlari bilan ham jalb qiladi. Odamlar ma'lumot olish uchun Internetga boradilar, har kuni o'zlarini qiziqtirgan materiallarni qidiradilar. Shuning uchun, yaratish mantiqiy qidiruv tizimi  yoqilgan veb-sayti, foydalanuvchilarga qo'lda tanlangan manbalardan kerakli narsalarni tezda topish imkoniyatini beradi.

Sizga kerak bo'ladi

  • - brauzer;
  • - Internetga ulanish;
  • - sayt mazmunini yoki sahifasi shablonlarini tahrirlash huquqi.

Qo'llanma

Buning asosida maxsus qidiruv tizimini yaratishni boshlang texnologiya Google Qidiruv tizimini boshqarish xizmatining paneliga kiring. Brauzerda sahifani manzil bilan oching http://www.google.com/cse/. Tizim bilan ishlash uchun sizning tizimingizdan foydalaning hisob  Google "Agar foydalanuvchi qidirish tizimini yaratish." Tugmasini bosing vakolatli  hozirda, keyin "Kirish" havolasini bosing. Ma'lumotni kiriting hisob  shaklga kiring va "Kirish" tugmasini bosing. Agar sizda umumiylik bo'lmasa google hisobi, "Hisob qaydnomasini yaratish" havolasini bosib, uni yarating hozir  Va taklif qilingan qadamlar bo'yicha.

Siz yaratadigan foydalanuvchi qidirish tizimining asosiy parametrlarini kiriting. "Ism" va "Ta'rif" qatorlarini to'ldiring, "Til" ochiladigan ro'yxatida interfeys tilini tanlang. "Qidiruv uchun saytlar" matn oynasida yaratilgan tizim yordamida qidiruv natijalarida ma'lumot taqdim etiladigan manbalar ro'yxatini kiriting. "Keyingi" tugmasini bosing.

Saytda qidiruv tizimini o'rnatish uchun javascript kodini oling. Joriy sahifadagi matn maydonidagi barcha tarkibni tanlang. Tanlangan tarkibni clipboardga nusxalash va vaqtinchalik faylga saqlash.

Agar siz kelajakdagi pochta haqida qaror qilgan bo'lsangiz server  , elektron pochta manzilini ro'yxatdan o'tkazishga o'tishingiz mumkin. Har qanday portalda ro'yxatdan o'tish jarayoni taxminan bir xil va anketa va ko'rsatmalarni to'ldirishni taklif qiladi xavfsizlik savol, parolingizni unutgan holda uning  Elektron pochta Anketani to'ldirish uchun siz kabi, mas'uliyat bilan murojaat qilish kerak pochta  ro'yxatga oluvchiga anketa ma'lumotlarini taqdim etishingiz kerak bo'ladi. Shuning uchun, agar qaror qilsangiz olmoq  taxalluslik yoki qalbaki ma'lumotlardan qasddan foydalansangiz, uni xavfsiz joyda saqlashingiz kerak.

E'tibor bering

Elektron pochta, qoida tariqasida, bepul shartlarda taklif qilinishi kerak. Ammo buni chiroyli va eksklyuziv domen nomi va bir necha qo'shimcha funktsiyalarga ega bo'lgan oylik abonent to'lovi evaziga amalga oshiradigan saytlar mavjud. Sotib olishdan oldin pochta qutisibarcha imkoniyatlarni ko'rib chiqishga arziydi bepul xizmatlar, va tijorat takliflarini qabul qilganingizdan keyin.

Foydali maslahat

Tanlashda pochta serveri  taklif etadigan mashhur portallarga alohida e'tibor bering pochta xizmati. Qoidaga ko'ra, bunday portallar vaqt sinovidan o'tgan va ishonchlilik va funktsionallikni kafolatlaydi.

Ishlash ishonchliligini oshirish uchun sayt , saytdagi ma'lumotlarning xavfsizligi, tirbandlikning oshishi sayt, saytdagi yukni kamaytirish va boshqalar. qilmoqdalar oyna sayt. Agar asosiy resurs bir necha sabablarga ko'ra ishlamay qolsa, tashrif buyuruvchi zahira resursiga, ya'ni saytga kirib borishi tushuniladi. oyna.

Sizga maqola yoqdimi? Do'stlar bilan baham ko'ring: