لقد كنت مشغولاً بدراسة تحسين موقع الويب مؤخرًا، وأصبحت مهتمًا فجأة ودرست لفترة وجيزة مبادئ SE بعد قراءة هذه المقالة، سيكون ذلك بالتأكيد مكسبًا كبيرًا لمُحسني محركات البحث فقط من خلال فهم آلية ومبادئ محرك البحث بشكل أفضل تصنيفات أفضل.
المشاكل التقنية التي تحتاج محركات البحث إلى حلها تنقسم بشكل عام إلى برامج عنكبوتية + تصنيف وفهرسة + مفردات + عوامل خوارزمية الفرز + فهرسة قاعدة البيانات وتحسينها + بنية قاعدة البيانات
1. العنكبوت. في الوقت الحاضر، يبدو أنه يمكن تنفيذ العناكب في لغة C أو PHP. معظم عناكب Baidu مصنوعة من C. ويمكن لـ C أيضًا دعم واجهات اتصال قاعدة البيانات المتعددة، وكفاءة تشغيل C أعلى من PHP، ويمكن لـ C أيضًا التحكم في الطبقة السفلية بشكل أفضل. على الرغم من أن لغة C جيدة جدًا، إلا أنني مازلت أرغب في استخدام PHP. يجب توفير الوقت أكثر، ولم يعد بإمكاننا تعلم لغة C. إذا كنت بحاجة إلى استخدام C في المستقبل إذا كنت بحاجة إلى كفاءة عالية، فاستخدم C مرة أخرى. يمكن أن تظل قاعدة البيانات دون تغيير، ويمكن توصيل MYSQL بـ C. PHP لها مزايا وعيوب، ولا ينبغي أن تكون مشكلة كبيرة إذا كنت عنكبوتًا. المشكلة الأكبر هي أنها يمكن أن تكون بطيئة جدًا. عند الزحف إلى صفحات الويب، فإن المشاكل التي قد تنشأ هي ترتيب الزحف، وكيفية التسجيل إذا كان الزحف غير ناجح أو انتهت مهلة الزحف، ومتى يتم تحديث الزحف في المرة القادمة. قاعدة بيانات محرك البحث جديدة في البداية، بدون أي عناوين URL، ويلزم إضافة عدد كبير من عناوين URL. يمكنك استخدام عبارة for Loop هنا للتكرار تلقائيًا وفقًا للأحرف الإنجليزية. وبطبيعة الحال، الموقع ليس باللغة الإنجليزية فقط، ولكن أيضا - والأرقام التي لا يمكن إدخالها إلا يدويا. إذا كنت لا تزال تمسك بها في حلقة، فمن المقدر أن العديد منها سوف تفشل. يجب تحليل الكود الذي تم التقاطه لمعرفة ما إذا كان نوع التشفير هو utf-8 أو gb2312. يريد محرك البحث الخاص بي التقاط اللغة الصينية المبسطة فقط. إذا انتهت مهلة الجلب، فسيتم تسجيله وسيتم جلبه مرة أخرى بعد حوالي عشرة أيام. وإذا انتهت مهلة الجلب ثلاث مرات متتالية، فسيتم إخراجه من قاعدة البيانات.
2. يعد إنشاء الفهرس مشكلة صعبة للغاية. يمكن لـ Baidu وGoogle استخدام مزارع الخوادم الخاصة بهما لبناء خوادم موزعة. ليس لدي هذا العدد الكبير من الخوادم. لذلك أردت تجربة نهج آخر. إنشاء صفحات ثابتة. لم أكن أعلم من قبل أن الأمر سيستغرق حوالي 0.2 ثانية لإدخال كلمة غير شائعة نسبيًا في Baidu وGoogle، بينما تستغرق الكلمات الشائعة 0.1 ثانية فقط. علاوة على ذلك، فإن وقت الاستعلام المطلوب لإدخال كلمة بشكل متكرر في المرة الثانية أقل بكثير. ربما هذا هو تأثير المؤشر. إذا تم وضع الفهرس في الذاكرة، فستكون سرعة القراءة جيدة جدًا. ليس لدي سوى خادم واحد، وحتى لو قمت بوضع فهرس يضم 50000 مصطلح استعلام شائعًا فيه، فمن المحتمل أن يكون الأمر متعبًا بعض الشيء. يجب أن لا يقل حجم الصفحة عن 20 ألف صفحة، وأن يكون عدد الصفحات 50000 صفحة 20 كيلو * 50 = 1 جيجا. هذه مجرد الصفحة الأولى من 50000 كلمة. إذا أراد المستخدم قلب الصفحات للاستعلام، فلن تكون الذاكرة كافية بالتأكيد. إذا تم وضع الصفحة الأولى فقط في الذاكرة وقام المستخدم بتحويل الصفحات للاستعلام عنها، فلن تتحسن السرعة. لذلك سأصبح ثابتًا تمامًا. قم بمحاكاة استعلام مكون من 50000 كلمة ثم قم بإنشاء صفحة ثابتة. يتم وضع الصفحة الأولى من جميع الكلمات في الذاكرة، ويتم وضع الصفحات اللاحقة في القرص الصلب. لو كان من الممكن وضع الصفحة في الذاكرة، لكان من الممكن حل هذه المشكلة.
3. المفردات. هناك الآلاف من الأحرف الصينية، وهناك ما لا يقل عن 3000 حرف صيني شائع الاستخدام. تشير التقديرات إلى أن هناك 20000 كلمة شائعة الاستخدام تتألف منها. كيفية إضافة هذا المعجم؟ بأي تنسيق يجب تخزينه؟ ملف CSV أو قاعدة البيانات أو الملف النصي؟ في السابق، فكرت في العثور على ملف المعجم الخاص بـ Kingsoft PowerWord ومحاولة نسخه مباشرة، ولم تنجح هذه الطريقة بعد.
4. يجب وضع جميع الخوارزميات التي تؤثر على الفرز في جدول. ثم هناك الخوارزميات الثابتة، وهي عوامل الموقع نفسه، والخوارزميات المتغيرة، وهي عوامل تتغير بسبب الكلمات التي يدخلها المستخدم أو بسبب اختلاف الأوقات والمواسم وما إلى ذلك. يتم وضع الخوارزمية الثابتة في جدول ويتم حساب النتيجة الإجمالية لكل موقع. تم إنشاء جزء من خوارزمية التغيير من قبل، ويتم حساب جزء منها بعد إدخال المستخدم.
5. لا يوجد حاليًا حل جيد لفهرسة قاعدة البيانات. يجب ألا يكون هناك عدد كبير جدًا من فهارس التعبير، لأن كثرة عددها سيؤثر على السرعة.
6. هيكل قاعدة البيانات. هذا أمر بالغ الأهمية. من المقدر أنه يجب الانتهاء من هيكل قاعدة البيانات قبل ظهور الواجهة الأمامية للموقع. ومن الضروري أيضًا ترك واجهة للترقيات المستقبلية، مثل إضافة عوامل الخوارزمية، أو تغيير الحقول من أجل تحسين عبارات الاستعلام، وما إلى ذلك. الهيكل الأولي هو مثل هذا. 1-3 جداول تخزن معلومات الموقع. الحقل الأول هو المفتاح الأساسي الذي تمت زيادته تلقائيًا، والحقل الثاني هو عنوان الصفحة الرئيسية لموقع الويب، وبالترتيب وقت تسجيل اسم مجال موقع الويب، ووقت التجميع، ووقت اللقطة الأخيرة، وإجمالي عدد الصفحات المضمنة، وعدد البايتات على الصفحة الرئيسية، وتصنيف اسم النطاق (com/cn/org/net/gov/edu)، والعدد الإجمالي للروابط الخلفية، وتصنيف موقع الويب (يمكن أن يكون هذا من 1 إلى 10، ويمكن توسيع البوابة إلى 30)، وما إلى ذلك.
المقال منقول من: www.jianfeiyiqi.com يرجى الإشارة إلى المصدر مع الرابط.