Saya menulis ini untuk blog saya dulu punya jalan kembali ketika .... itu tidak lagi di web jadi .. ini dia! :
Cara menulis mesin pencari
Darren Rowse ke probolgger.net mengadakan Proyek Penulisan Grup tentang "How to". Ini adalah salah satu dari sedikit blog yang saya baca secara teratur, jadi saya pikir mengapa tidak menulis sesuatu yang layak dibaca untuk perubahan, melainkan kata-kata kasar kasar saya di mana saya akhirnya akan mengancam untuk menikam Hugo Chaves di tenggorokan.
Saya memutuskan untuk menulis "Cara menulis mesin pencari". Saya memilih topik ini karena dua alasan:
- Tidak banyak info bagus tentang ini di web.
- Saat ini saya sedang menulis satu untuk salah satu klien saya.
Klien saya adalah pengecer online dengan ukuran signifikan, jadi saya tidak mencari seluruh web hanya di situs mereka, lebih khusus lagi hanya produk yang akan dijual di situs mereka. Namun demikian, teknik yang sama dapat digunakan untuk menulis yang lebih kompleks yang digunakan untuk mencari di internet. Saya tahu ini bukan blog teknologi, jadi saya tidak akan membahas terlalu dalam soal teknis, saya juga tidak akan membahas persyaratan daya pemrosesan perangkat keras, atau perayapan web.
Saya menggunakan teknik yang cukup sederhana, saya punya tabel (tblKeywords) dengan tiga bidang:
- Itemid (Jika Anda melakukan pencarian di web, ini adalah URL)
- Kata Kunci (Kata Kunci Terindeks)
- Berat (ini adalah nilai numerik dari 1-100 semakin tinggi angka ini semakin signifikan (berat) yang dibawa kata kunci)
* PK = ItemID + KeyWord
Hal pertama yang saya lakukan adalah mengumpulkan kata-kata individual dari mana saja yang relevan. Untuk klien saya, saya akan menarik kata tabel produk. Khususnya dari bidang Itemid, ItemName, ItemShortDescription, ItemLongDescription, Manufacturer, ManufacturerSKU, Category1, Category2, Category3 dll. Jika Anda mengindeks halaman web, Anda dapat menarik data dari teks halaman, judul halaman, URL atau tautan di halaman lain yang menghubungkan kembali ke halaman yang diindeks.
Nilai bobot ditentukan oleh dari mana kata kunci berasal. Misalnya dalam kasus saya SKU Pembuatan Item akan mendapatkan bobot 100, sedangkan kata dari nama Item mungkin mendapatkan berat 25. Sebuah kata dari ItemLongDescription mungkin mendapatkan bobot 5. Jika Anda mengindeks halaman web, kata-kata dari judul halaman mungkin mendapatkan bobot 75 sedangkan kata dalam huruf tebal dari teks halaman mungkin mendapatkan bobot 10. Jika kata diulang lebih dari satu kali atau \ dan di lebih dari satu tempat Anda akan menambah bobot untuk setiap kali ini terjadi. Sebagai Contoh Jika kata "Kemeja" berasal dari dua tempat untuk ItemId = 12345, ItemName (berat 25) dan muncul dua kali dalam ItemLongDescription (Berat 5 x2 = 10) kata "kemeja" akan memiliki berat total 35 untuk ItemId = 12345.
Jika seseorang mencari "kemeja pink", saya mencari meja saya untuk semua contoh kata "Pink" atau "Kemeja" dan Total bobot. Menampilkan Item dengan berat total tertinggi di atas.
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
Jadi di sini Anda memilikinya, mesin pencari dasar (dan cepat). Tentu saja ada lebih banyak yang harus dilakukan, seperti menghapus tanda baca, Kode HTML dan kata kunci tidak berharga seperti "dan", "jika", "atau". Ini tidak membahas pencarian frase kunci, tetapi Anda dapat menggunakan sistem yang sama untuk frase jika Anda bisa mencari tahu di mana mereka memulai dan mengakhiri.