على الرغم من أن البحث الذي يأتي مع WordPress يمكنه البحث عن بعض الأشياء، إلا أنه في بعض الأحيان لا تكون نتائج البحث مرضية بالضرورة، ولا يوجد بحث مشترك أو بحث غامض، لذلك يتعين عليك أحيانًا تحديد كلمات رئيسية دقيقة للحصول على نتائج البحث. علاوة على ذلك، يعتمد البحث الذي يأتي مع WordPress بشكل كبير على استعلامات قاعدة بيانات MysqL، والتي يمكن أن تستغرق وقتًا طويلاً إذا كانت قاعدة البيانات كبيرة.

ليس من الصعب استبدال البحث الافتراضي في WordPress. الأشخاص الذين يعرفون هذا الفن يعرفون بشكل أساسي أن الموقع:wzfou.com xxx يمكنه البحث عن محتوى موقع الويب المحدد، وقد أطلق Baidu وGoogle عمليات بحث مخصصة، مما يعني الموقع:wzfou. com.com xxx مضمن مباشرة في الموقع ويمكن للمستخدمين رؤية النتائج دون الانتقال إلى Baidu وGoogle بعد النقر على "بحث".

ومع ذلك، يعتمد البحث المخصص في بايدو وجوجل على فهرس محرك البحث بالنسبة للمواقع الجديدة التي تحتوي على فهارس قليلة، في بعض الأحيان لا يمكن البحث عن مقالات جديدة، مما يؤثر على تجربة المستخدم. ونتيجة لذلك، وُلد Elasticsearch، وهو محرك بحث مجاني مفتوح المصدر ومُصمم ذاتيًا، وهو محرك بحث وتحليل بيانات موزع وقابل للتطوير وفي الوقت الفعلي يمكنه التعامل مع البحث في النص الكامل والإحصائيات في الوقت الفعلي للبيانات المنظمة. .

تحسين البحث في الموقع لدينا - Baidu، وبحث Google المخصص، والبحث المدمج ذاتيًا في Elasticsearch

ستشارك هذه المقالة كيفية دمج Baidu وبحث Google المخصص والبحث المبني ذاتيًا في Elasticsearch مع WordPress. تتضمن المزيد من المقالات حول إنشاء موقع WordPress وتحسين WP ما يلي:

  1. تجربة تحسين Linux php-fpm-تستهلك عملية php-fpm ذاكرة كبيرة ولا تسبب مشاكل في الذاكرة
  2. يضيف WordPress أمثلة على إنتاج زر مكافأة Alipay وWeChat ورابط مكافأة Paypal.me
  3. يوصى بخمسة برامج قراءة RSS ممتازة - مع مجموعة من كبار برامج قراءة RSS المحلية والأجنبية

ملاحظة: تم التحديث في 1 سبتمبر 2019، يمكن للأصدقاء الذين لا يريدون إزعاج عمليات البحث المخصصة في Baidu وGoogle تجربة محرك البحث الممتاز التابع لجهة خارجية في الموقع: استخدم Algolia لإضافة الوقت الفعلي إلى -وظيفة البحث في الموقع إلى WordPress-Search بجودة أعلى ومحتوى أكثر دقة.

ملاحظة: تم التحديث في 2 ديسمبر 2019، إذا كنت ترغب في إنشاء بحث مجاني أكثر قوة وأسرع في الموقع، فيمكنك أيضًا تجربة محرك بحث النص الكامل عالي الأداء RediSearch: RediSearch High محرك بحث الأداء للنص الكامل - يتكامل مع WordPress لإنشاء بحث عالي الجودة.

1. محرك البحث بايدو في الموقع

موقع إلكتروني:

  1. HTTPS://resource.baidu.com/color/wiki/introduce

1.1  استخدام محرك البحث بايدو في الموقع

الخطوة الأولى هي إضافة اسم مجال موقع الويب الذي تريد استخدامه إلى محرك بحث Baidu.

2.1  استخدام بحث Google المخصص

قم أولاً بتسجيل الدخول إلى صفحة بحث Google المخصص الرسمية، ثم انقر فوق لإنشاء بحث مخصص جديد.

الخطوة التالية هي تعيين عنوان URL الذي تريد فهرسته وتسميته وما إلى ذلك. (اضغط للتكبير)

بمجرد إنشائه، يمكنك النقر للحصول على الرمز.

يوفر البحث في موقع Google أيضًا إعدادات المظهر وتحسين نتائج البحث ووظائف أخرى، والتي يمكنك ضبطها وفقًا لاحتياجاتك. (اضغط للتكبير)

يتيح لك بحث Google المخصص تثبيت نتائج بحث محددة والإكمال التلقائي والمرادفات والمزيد.

هذا هو تأثير البحث الخاص ببحث Google المخصص، كما أن تضمينه في صفحة ويب قد يتأثر أيضًا بـ CSS الأصلي، لذا تحتاج إلى تحسينه بنفسك. (اضغط للتكبير)

يمكن لبحث Google المخصص أيضًا البحث عن الصور، وهو أمر قوي حقًا.

2.2  لا يعرض بحث Google المخصص المشكلة

لأسباب معروفة، لا يمكن عرض بحث Google المخصص بشكل صحيح في الصين، فكيف يمكن حل هذه المشكلة؟ الطريقة الممكنة هي استخدام التوليد العكسي (راجع: الربط العكسي لـ Nginx)، أو توطين الملفات ذات الصلة بالبحث المخصص في Google. ومن الصعب تنفيذها...

يمكن بالفعل استضافة بحث Google المخصص، مع التأثيرات التالية:

  1. HTTPS://color.Google.com/color/public URL?appear=011545314673148308753:3 ولا يمكن تدمير 6-KFC

3. Elasticsearch البحث الذاتي

موقع إلكتروني:

  1. HTTPS://wuwuwu.elastic.co

3.1  قم بتثبيت Elasticsearch

لتثبيت Elasticsearch، يمكنك الرجوع بشكل أساسي إلى البرنامج التعليمي الرسمي، وفيما يلي مرجع مباشر لطريقة تثبيت imququ.com:

كل من الجهاز الظاهري والبيئة عبر الإنترنت هما Ubuntu 14.04.4 LTS، ويستخدم Elasticsearch أحدث إصدار. قبل أن يبدأ كل شيء، تحقق أولاً من تثبيت بيئة Java على الجهاز. وإذا لم يكن الأمر كذلك، فيمكنك تثبيتها من خلال الأمر التالي:

sudo apt-get install openjdk-7-jre-headless

قم بتنزيل الحزمة المضغوطة Elasticsearch 2.3.0 وقم بفك ضغطها:

wget -c https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.3.0/elasticsearch-2.3.0.zip
unzip elasticsearch-2.3.0.zip

أعد تسمية الدليل elasticsearch-2.3.0 الذي تم فك ضغطه إلى ~/es_root (لا توجد قيود على الاسم والموقع، يمكنك نقله إلى أي مكان تعتقد أنه مناسب). لا يتطلب Elasticsearch التثبيت ويمكن تشغيله مباشرةً (ملاحظة: لا يمكن تشغيله باستخدام الحساب الجذر):

BASHcd ~/es_root/bin/
chmod a+x elasticsearch
./elasticsearch

إذا لم تتم طباعة أي رسالة خطأ على الشاشة، فقد تم بدء تشغيل خدمة Elasticsearch بنجاح. قم بإنشاء محطة جديدة واستخدم الضفيرة للتحقق:

BASHcurl -XGET http://127.0.0.1:9200/?pretty

{
  "name" : "Melissa Gold",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "2.3.0",
    "build_hash" : "8371be8d5fe5df7fb9c0516c474d77b9feddd888",
    "build_timestamp" : "2016-03-29T07:54:48Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.0"
  },
  "tagline" : "You Know, for Search"
}

إذا رأيت المعلومات المذكورة أعلاه، فكل شيء طبيعي، وإلا، فيرجى العثور على السبب وفقًا لرسالة الخطأ التي تظهر على الشاشة. على الرغم من أن Elasticsearch نفسه مكتوب بلغة Java، إلا أنه يمكنه التفاعل مع العالم الخارجي من خلال واجهة RESTful، وهي مريحة للغاية.

افتراضيًا، لا يمكن الوصول إلى خدمة RESTful الخاصة بـ Elasticsearch إلا عن طريق الجهاز المحلي، مما يعني أنه لا يمكن الوصول إلى الخدمة الموجودة في الجهاز الظاهري من المضيف. لتسهيل تصحيح الأخطاء، يمكنك تعديل الملف ~/es_root/config/elasticsearch.yml وإضافة السطرين التاليين:

network.bind_host: "0.0.0.0"
network.publish_host: _non_loopback:ipv4_

ولكن لا تقم بتكوين بهذه الطريقة في بيئة الإنترنت، وإلا فيمكن لأي شخص تعديل بياناتك من خلال هذه الواجهة.

3.2  تثبيت تحليل IK

ستقوم أداة تجزئة الكلمات التي تأتي مع بحث Elasticsearch بفصل كل حرف صيني تقريبًا بشكل مباشر، دون تقسيم الكلمات وفقًا للمفردات. من أجل معالجة عمليات البحث الصينية، تحتاج أيضًا إلى تثبيت البرنامج الإضافي لتجزئة الكلمات الصينية. أنا أستخدم elasticsearch-analys-ik، الذي يدعم المعجم المخصص.

أولاً، قم بتنزيل البرنامج الإضافي elasticsearch-analys-ik الذي يتوافق مع Elasticsearch:

wget -c https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.0.zip
unzip v1.9.0.zip

بعد فك الضغط، انتقل إلى دليل التعليمات البرمجية المصدر للمكون الإضافي وقم بتجميع:

BASHsudo apt-get install maven
cd elasticsearch-analysis-ik-1.9.0
mvn package

إذا سار كل شيء على ما يرام، فيمكن العثور على الملفات المترجمة في الدليل target/releases/. قم بفك ضغطه وانسخه إلى الدليل المقابل لـ ~/es_root:

mkdir -p ~/es_root/plugins/ik/
unzip target/releases/elasticsearch-analysis-ik-1.9.0.zip -d ~/es_root/plugins/ik/

يوجد ملف تكوين Elasticsearch-analogy-ik في الدليل ~/es_root/plugins/ik/config/ik/، والعديد منها عبارة عن قوائم كلمات، ويمكنك تعديلها عن طريق فتحها مباشرةً باستخدام النص Editor. تذكر حفظها بتنسيق utf-8.

ابدأ الآن خدمة Elasticsearch. إذا رأيت رسالة مشابهة لما يلي، فهذا يعني أنه تم تثبيت المكون الإضافي لتحليل IK:

plugins [analysis-ik]

3.3  تكوين المرادفات

يأتي Elasticsearch مزودًا بمرشح مرادف يسمى المرادف. من أجل جعل IK والمرادف يعملان في نفس الوقت، نحتاج إلى تحديد محلل جديد، واستخدام IK باعتباره الرمز المميز والمرادف كمرشح. قد يبدو الأمر معقدًا، ولكن في الواقع كل ما عليك فعله هو إضافة قسم للتكوين.

افتح الملف ~/es_root/config/elasticsearch.yml وأضف التكوين التالي:

YAMLindex:
  analysis:
    analyzer:
      ik_syno:
          type: custom
          tokenizer: ik_max_word
          filter: [my_synonym_filter]
      ik_syno_smart:
          type: custom
          tokenizer: ik_smart
          filter: [my_synonym_filter]
    filter:
      my_synonym_filter:
          type: synonym
          synonyms_path: analysis/synonym.txt

يحدد التكوين أعلاه محللين جديدين، ik_syno وik_syno_smart، اللذين يتوافقان مع استراتيجيات تجزئة الكلمات ik_max_word وik_smart الخاصة بـ IK على التوالي. وفقًا لوثائق IK، فإن الاختلافات بين الاثنين هي كما يلي:

  • ik_max_word: سيتم تقسيم النص إلى أدق التفاصيل واستنفاد جميع المجموعات الممكنة؛
  • ik_smart: سوف يقسم النص إلى تفاصيل أكثر خشونة؛

سيستخدم كل من ik_syno وik_syno_smart عامل تصفية المرادفات لتنفيذ تحويل المرادفات. لتسهيل الاختبار اللاحق، يوصى بإنشاء الملف ~/es_root/config/analogy/synonym.txt وإدخال بعض المرادفات وحفظه بتنسيق utf-8. على سبيل المثال:

ua,user-agent,userAgent
js,javascript
谷歌=>google

3.4  يدمج Elasticsearch WordPress

البرنامج المساعد ووردبريس:

1. إلاستيكبريس: https://wordpress.org/plugins/elasticpress/

2. بحث WP باستخدام Elasticsearch: https://wordpress.org/plugins/db-search-with-elasticsearch/

يمكن أن يساعدنا هذان المكونان الإضافيان لـ Elasticsearch WordPress في دمج بحث Elasticsearch في WordPress أولاً، قم بتنشيط المكون الإضافي، ثم انتقل إلى صفحة إعدادات المكون الإضافي لملء المعلومات المتعلقة بخادم Elasticsearch. (اضغط للتكبير)

بعد ذلك يمكنك مزامنة مقالات وصفحات WordPress مع خادم Elasticsearch وبدء الفهرسة.

4. ملخص

يعد محرك بحث Baidu الموجود في الموقع مناسبًا لمواقع الويب التي لا تستخدم HTTPS والتي تحتوي على فهرس Baidu كبير. ومن غير الملائم جدًا للمواقع والمواقع الجديدة التي تستخدم HTTPS استخدام محرك بحث Google المخصص في الموقع من Baidu الأصدقاء والأصدقاء المحليين توقفوا عن الإزعاج.

يعد البحث المبني ذاتيًا في Elasticsearch أداة جيدة جدًا ذات وظائف قوية. يعد البحث عن النص الكامل لـ WordPress بمثابة "اختبار صغير". يمكن لـ Elasticsearch فهرسة المستندات والبحث فيها وفرزها وتصفيتها، ويمكنها إجراء عمليات بحث معقدة عن النص الكامل .

اترك رد