Bien que la recherche fournie avec WordPress puisse rechercher certaines choses, parfois les résultats de la recherche ne sont pas nécessairement satisfaisants et il n'y a pas de recherche conjointe ou de recherche floue, vous devez donc parfois spécifier des mots-clés précis pour obtenir les résultats de la recherche. De plus, la recherche fournie avec WordPress repose fortement sur les requêtes de base de données MySQL, ce qui peut prendre beaucoup de temps si la base de données est volumineuse.

Il n'est pas difficile de remplacer la recherche par défaut de WordPress. Les personnes connaissant l'art savent en gros que site:wzfou.com xxx peut rechercher le contenu du site Web spécifié. Baidu et Google ont lancé des recherches personnalisées, ce qui signifie site:wzfou. com.com xxx est directement intégré au site. Les utilisateurs peuvent voir les résultats sans accéder à Baidu et Google après avoir cliqué sur Rechercher.

Cependant, la recherche personnalisée Baidu et Google s'appuie sur l'index du moteur de recherche. Pour les nouveaux sites avec peu d'index, il est parfois impossible de rechercher de nouveaux articles, ce qui affecte l'expérience utilisateur. En conséquence, Elasticsearch, un moteur de recherche et d'analyse de données open source et gratuit, est né. Il s'agit d'un moteur de recherche et d'analyse de données en temps réel distribué, évolutif, capable de gérer la recherche en texte intégral et les statistiques en temps réel des données structurées. .

Améliorer notre recherche sur site - Baidu, recherche personnalisée Google et recherche auto-construite Elasticsearch

Cet article expliquera comment Baidu, la recherche personnalisée Google et la recherche auto-construite Elasticsearch intègrent WordPress. D'autres articles sur la création de sites Web WordPress et l'optimisation WP incluent :

  1. Le processus d'optimisation Linux php-fpm experience-php-fpm occupe une grande mémoire et ne libère pas de problèmes de mémoire
  2. WordPress ajoute Alipay, des exemples de production de boutons de récompense WeChat et un lien de récompense Paypal.me
  3. Cinq excellents lecteurs RSS recommandés - avec une collection de principaux lecteurs RSS nationaux et étrangers

PS : mis à jour le 1er septembre 2019 Les amis qui ne veulent pas s'embêter avec les recherches personnalisées de Baidu et de Google peuvent essayer cet excellent moteur de recherche tiers sur site : utilisez Algolia pour ajouter des informations en temps réel sur -fonction de recherche de site vers WordPress-Search Contenu de meilleure qualité et plus précis.

PS : mis à jour le 2 décembre 2019 Si vous souhaitez créer une recherche gratuite sur site plus puissante et plus rapide, vous pouvez également essayer le moteur de recherche en texte intégral hautes performances RediSearch : RediSearch high -moteur de recherche en texte intégral performant Moteur de recherche - Intégrez-vous à WordPress pour créer une recherche de haute qualité.

1. Moteur de recherche sur site Baidu

site web:

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

1.1  Utilisation du moteur de recherche sur site Baidu

La première étape consiste à ajouter le nom de domaine du site Web que vous souhaitez utiliser au moteur de recherche Baidu.

2.1  Utilisation de la recherche personnalisée Google

Connectez-vous d’abord à la page officielle de recherche personnalisée Google, puis cliquez pour créer une nouvelle recherche personnalisée.

L'étape suivante consiste à définir l'URL que vous souhaitez indexer, à la nommer, etc. (Cliquez pour agrandir)

Une fois créé, vous pouvez cliquer pour obtenir le code.

La recherche sur site de Google fournit également des paramètres d'apparence, une optimisation des résultats de recherche et d'autres fonctions que vous pouvez ajuster en fonction de vos propres besoins. (Cliquez pour agrandir)

La recherche personnalisée Google vous permet d'épingler des résultats de recherche spécifiques, la saisie semi-automatique, des synonymes, etc.

Il s'agit de l'effet de recherche de la recherche personnalisée Google. Son intégration dans une page Web peut également être affectée par le CSS d'origine, vous devez donc l'affiner vous-même. (Cliquez pour agrandir)

Google Custom Search peut également rechercher des images, ce qui est vraiment puissant.

2.2  La recherche personnalisée Google n'affiche pas le problème

Pour des raisons bien connues, la recherche personnalisée Google ne peut pas s'afficher correctement en Chine, alors comment résoudre ce problème ? Une méthode réalisable consiste à utiliser la génération inverse (voir : liaison inverse Nginx) ou à localiser les fichiers liés à la recherche personnalisée Google. C'est difficile à mettre en œuvre...

La recherche personnalisée Google peut effectivement être hébergée, avec les effets suivants :

  1. HTTPS://color.Google.com/color/public URL?apparaît=011545314673148308753:3 et ne peut pas détruire 6-KFC

3. Recherche auto-construite d'Elasticsearch

site web:

  1. HTTPS://wuwuwu.elastic.co

3.1  Installer Elasticsearch

Pour l'installation d'Elasticsearch, vous pouvez essentiellement vous référer au tutoriel officiel. Voici une référence directe à la méthode d'installation de imququ.com :

La machine virtuelle et l'environnement en ligne sont Ubuntu 14.04.4 LTS et Elasticsearch utilise la dernière version. Avant que tout commence, vérifiez d'abord si l'environnement Java est installé sur la machine. Sinon, vous pouvez l'installer via la commande suivante :

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

Téléchargez le package compressé Elasticsearch 2.3.0 et décompressez-le :

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

Renommez le répertoire elasticsearch-2.3.0 décompressé en ~/es_root (il n'y a aucune restriction sur le nom et l'emplacement, vous pouvez le déplacer vers n'importe quel emplacement que vous jugez approprié). Elasticsearch ne nécessite pas d'installation et peut être exécuté directement (remarque : il ne peut pas être exécuté avec le compte root) :

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

Si aucun message d'erreur ne s'imprime à l'écran, le service Elasticsearch a été démarré avec succès. Créez un nouveau terminal et vérifiez-le avec curl :

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"
}

Si vous voyez les informations ci-dessus, tout est normal. Sinon, veuillez trouver la cause en fonction du message d'erreur à l'écran. Bien qu'Elasticsearch lui-même soit écrit en Java, il peut interagir avec le monde extérieur via l'interface RESTful, ce qui est très pratique.

Par défaut, le service RESTful d'Elasticsearch n'est accessible que par la machine locale, ce qui signifie que le service de la machine virtuelle n'est pas accessible depuis l'hôte. Pour faciliter le débogage, vous pouvez modifier le fichier ~/es_root/config/elasticsearch.yml et ajouter les deux lignes suivantes :

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

Mais ne configurez pas ainsi dans l'environnement en ligne, sinon n'importe qui peut modifier vos données via cette interface.

3.2  Installer l'analyse CI

Le segmenteur de mots fourni avec la recherche Elasticsearch séparera grossièrement chaque caractère chinois directement, sans segmenter les mots en fonction du vocabulaire. Afin de traiter les recherches en chinois, vous devez également installer le plug-in de segmentation de mots chinois. J'utilise elasticsearch-analysis-ik, qui prend en charge le lexique personnalisé.

Tout d’abord, téléchargez le plugin elasticsearch-analysis-ik qui correspond à Elasticsearch :

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

Après décompression, allez dans le répertoire du code source du plug-in et compilez :

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

Si tout se passe bien, les fichiers compilés se trouvent dans le répertoire target/releases/. Décompressez-le et copiez-le dans le répertoire correspondant de ~/es_root :

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

Le fichier de configuration d'elasticsearch-analysis-ik se trouve dans le répertoire ~/es_root/plugins/ik/config/ik/. Beaucoup d'entre eux sont des listes de mots. Vous pouvez les modifier en les ouvrant directement avec un texte. éditeur. N'oubliez pas de les enregistrer au format utf-8.

Démarrez maintenant le service Elasticsearch. Si vous voyez un message similaire au suivant, cela signifie que le plug-in IK Analysis a été installé :

plugins [analysis-ik]

3.3  Configurer les synonymes

Elasticsearch est livré avec un filtre de synonymes appelé synonyme. Afin de faire fonctionner IK et les synonymes en même temps, nous devons définir un nouvel analyseur, utiliser IK comme tokenizer et synonyme comme filtre. Cela semble compliqué, mais en réalité, il suffit d'ajouter une section de configuration.

Ouvrez le fichier ~/es_root/config/elasticsearch.yml et ajoutez la configuration suivante :

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

La configuration ci-dessus définit deux nouveaux analyseurs, ik_syno et ik_syno_smart, qui correspondent respectivement aux deux stratégies de segmentation de mots d'IK, ik_max_word et ik_smart. Selon la documentation IK, les différences entre les deux sont les suivantes :

  • ik_max_word : divisera le texte dans la granularité la plus fine et épuisera toutes les combinaisons possibles ;
  • ik_smart : divisera le texte selon la granularité la plus grossière ;

ik_syno et ik_syno_smart utiliseront tous deux un filtre de synonymes pour implémenter la conversion de synonymes. Afin de faciliter les tests ultérieurs, il est recommandé de créer le fichier ~/es_root/config/analysis/synonym.txt, de saisir quelques synonymes et de l'enregistrer au format utf-8. Par exemple:

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

3.4  Elasticsearch intègre WordPress

Plugin WordPress :

1. ElasticPress : https://wordpress.org/plugins/elasticpress/

2. Recherche WP avec Elasticsearch : https://wordpress.org/plugins/db-search-with-elasticsearch/

Ces deux plug-ins Elasticsearch WordPress peuvent nous aider à intégrer la recherche Elasticsearch dans WordPress. Tout d'abord, activez le plug-in, puis accédez à la page des paramètres du plug-in pour remplir les informations relatives au serveur Elasticsearch. (Cliquez pour agrandir)

Vous pouvez ensuite synchroniser les articles et pages WordPress avec le serveur Elasticsearch et lancer l'indexation.

4. Résumé

Le moteur de recherche sur site Baidu convient aux sites Web qui n'utilisent pas HTTPS et disposent d'un index Baidu important. Il est très désavantageux pour les nouveaux sites et sites Web qui utilisent HTTPS d'utiliser le moteur de recherche personnalisé Baidu Google adapté aux étrangers. amis et amis domestiques. Arrêtez de vous embêter.

La recherche en texte intégral d'Elasticsearch est un très bon outil doté de fonctions puissantes. La recherche en texte intégral pour WordPress est en réalité un « petit test ». Elasticsearch peut indexer, rechercher, trier et filtrer des documents, et effectuer des recherches en texte intégral complexes. .

Laisser une réponse