Obwohl die mit WordPress gelieferte Suche nach einigen Dingen suchen kann, sind die Suchergebnisse manchmal nicht unbedingt zufriedenstellend und es gibt keine gemeinsame Suche oder Fuzzy-Suche, sodass Sie manchmal genaue Schlüsselwörter angeben müssen, um die Suchergebnisse zu erhalten. Darüber hinaus basiert die mit WordPress gelieferte Suche stark auf MySQL-Datenbankabfragen, was bei großen Datenbanken zeitaufwändig sein kann.

Es ist nicht schwer, die Standardsuche von WordPress zu ersetzen. Leute, die sich mit der Technik auskennen, wissen im Grunde, dass site:wzfou.com xxx nach dem Inhalt der angegebenen Website suchen kann, was bedeutet, dass site:wzfou. com. com xxx ist direkt in die Website eingebettet, ohne nach dem Klicken auf „Suchen“ zu Baidu und Google springen zu müssen.

Die benutzerdefinierte Suche von Baidu und Google basiert jedoch auf dem Index der Suchmaschine. Bei neuen Websites mit wenigen Indizes können neue Artikel manchmal nicht durchsucht werden, was sich auf die Benutzererfahrung auswirkt. Als Ergebnis wurde Elasticsearch geboren, eine Open-Source- und kostenlose, selbst erstellte Suchmaschine. Es handelt sich um eine verteilte, skalierbare Echtzeit-Such- und Datenanalyse-Engine, die die Volltextsuche und Echtzeitstatistiken strukturierter Daten verarbeiten kann .

Verbessern Sie unsere On-Site-Suche – Baidu, die benutzerdefinierte Google-Suche und die selbst erstellte Elasticsearch-Suche

In diesem Artikel erfahren Sie, wie Baidu, die benutzerdefinierte Suche von Google und die selbst erstellte Suche von Elasticsearch WordPress integrieren. Weitere Artikel zum Thema WordPress-Website-Erstellung und WP-Optimierung sind:

  1. Der Linux-PHP-FPM-Optimierungsprozess benötigt viel Speicher und verursacht keine Speicherprobleme
  2. WordPress fügt Alipay, Produktionsbeispiele für WeChat-Belohnungsschaltflächen und einen Paypal.me-Belohnungslink hinzu
  3. Fünf ausgezeichnete RSS-Reader empfohlen – mit einer Sammlung der wichtigsten in- und ausländischen RSS-Reader

PS: Aktualisiert am 1. September 2019, Freunde, die sich nicht mit der benutzerdefinierten Suche von Baidu und Google herumschlagen möchten, können diese hervorragende On-Site-Suchmaschine eines Drittanbieters ausprobieren: Verwenden Sie Algolia, um Echtzeit hinzuzufügen -Site-Suchfunktion zur WordPress-Suche Höhere Qualität und genauere Inhalte.

PS: Aktualisiert am 2. Dezember 2019, Wenn Sie eine leistungsfähigere und schnellere kostenlose On-Site-Suche erstellen möchten, können Sie auch die leistungsstarke Volltextsuchmaschine RediSearch ausprobieren: RediSearch high -Leistungsstarke Volltextsuchmaschine Suchmaschine – Integrieren Sie sie in WordPress, um eine qualitativ hochwertige Suche zu erstellen.

1. Baidu-Suchmaschine vor Ort

Webseite:

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

1.1  Nutzung der On-Site-Suchmaschine Baidu

Der erste Schritt besteht darin, den Website-Domainnamen, den Sie verwenden möchten, zur Baidu-Suchmaschine hinzuzufügen.

2.1  Verwendung der benutzerdefinierten Suche von Google

Melden Sie sich zunächst auf der offiziellen Seite der benutzerdefinierten Suche von Google an und klicken Sie dann, um eine neue benutzerdefinierte Suche zu erstellen.

Der nächste Schritt besteht darin, die URL festzulegen, die Sie indizieren möchten, sie zu benennen usw. (Klicken um zu vergrößern)

Nach der Erstellung können Sie auf klicken, um den Code abzurufen.

Die Google-Onsite-Suche bietet außerdem Darstellungseinstellungen, Suchergebnisoptimierung und andere Funktionen, die Sie je nach Bedarf anpassen können. (Klicken um zu vergrößern)

Mit der benutzerdefinierten Google-Suche können Sie bestimmte Suchergebnisse, automatische Vervollständigung, Synonyme und mehr anpinnen.

Dies ist der Sucheffekt der benutzerdefinierten Suche von Google. Das Einbetten in eine Webseite kann auch vom ursprünglichen CSS beeinflusst werden, sodass Sie es selbst weiter verfeinern müssen. (Klicken um zu vergrößern)

Die benutzerdefinierte Suche von Google kann auch nach Bildern suchen, was wirklich leistungsstark ist.

2.2  Die benutzerdefinierte Google-Suche zeigt das Problem nicht an

Aus bekannten Gründen kann die benutzerdefinierte Google-Suche in China nicht richtig angezeigt werden. Wie kann dieses Problem gelöst werden? Eine praktikable Methode besteht darin, die umgekehrte Generierung zu verwenden (siehe: Nginx-Umkehrbindung) oder Dateien für die benutzerdefinierte Google-Suche zu lokalisieren. Es ist schwierig umzusetzen...

Die benutzerdefinierte Google-Suche kann tatsächlich gehostet werden, mit folgenden Auswirkungen:

  1. HTTPS://color.Google.com/color/public URL?appear=011545314673148308753:3 und kann 6-KFC nicht zerstören

3. Selbsterstellte Elasticsearch-Suche

Webseite:

  1. HTTPS://wuwuwu.elastic.co

3.1  Installieren Sie Elasticsearch

Für die Installation von Elasticsearch können Sie grundsätzlich auf das offizielle Tutorial verweisen. Hier finden Sie einen direkten Verweis auf die Installationsmethode von imququ.com.

Sowohl die virtuelle Maschine als auch die Online-Umgebung sind Ubuntu 14.04.4 LTS und Elasticsearch verwendet die neueste Version. Bevor alles beginnt, prüfen Sie zunächst, ob die Java-Umgebung auf dem Computer installiert ist. Wenn nicht, können Sie sie mit dem folgenden Befehl installieren:

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

Laden Sie das komprimierte Paket Elasticsearch 2.3.0 herunter und entpacken Sie es:

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

Benennen Sie das entpackte Verzeichnis elasticsearch-2.3.0 in ~/es_root um (es gibt keine Einschränkungen hinsichtlich Name und Speicherort, Sie können es an einen beliebigen Speicherort verschieben, den Sie für geeignet halten). Elasticsearch erfordert keine Installation und kann direkt ausgeführt werden (Hinweis: Es kann nicht mit dem Root-Konto ausgeführt werden):

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

Wenn keine Fehlermeldung auf dem Bildschirm angezeigt wird, wurde der Elasticsearch-Dienst erfolgreich gestartet. Erstellen Sie ein neues Terminal und überprüfen Sie Folgendes mit 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"
}

Wenn Sie die oben genannten Informationen sehen, ist alles normal. Andernfalls finden Sie die Ursache anhand der Fehlermeldung auf dem Bildschirm. Obwohl Elasticsearch selbst in Java geschrieben ist, kann es über die RESTful-Schnittstelle mit der Außenwelt interagieren, was sehr praktisch ist.

Standardmäßig kann nur die lokale Maschine auf den RESTful-Dienst von Elasticsearch zugreifen, was bedeutet, dass vom Host aus nicht auf den Dienst in der virtuellen Maschine zugegriffen werden kann. Um das Debuggen zu erleichtern, können Sie die Datei ~/es_root/config/elasticsearch.yml ändern und die folgenden zwei Zeilen hinzufügen:

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

Konfigurieren Sie jedoch nicht auf diese Weise in der Online-Umgebung, da sonst jeder Ihre Daten über diese Schnittstelle ändern kann.

3.2  IK-Analyse installieren

Der mit der Elasticsearch-Suche gelieferte Wortsegmentierer trennt jedes chinesische Zeichen direkt grob, ohne die Wörter entsprechend dem Wortschatz zu segmentieren. Um chinesische Suchanfragen verarbeiten zu können, müssen Sie außerdem das Plug-in zur Segmentierung chinesischer Wörter installieren. Ich verwende elasticsearch-analysis-ik, das benutzerdefiniertes Lexikon unterstützt.

Laden Sie zunächst das Elasticsearch-Analysis-ik-Plugin herunter, das zu Elasticsearch passt:

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

Gehen Sie nach der Dekomprimierung in das Plug-in-Quellcodeverzeichnis und kompilieren Sie:

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

Wenn alles gut geht, sind die kompilierten Dateien im Verzeichnis target/releases/ zu finden. Entpacken Sie es und kopieren Sie es in das entsprechende Verzeichnis von ~/es_root:

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

Die Konfigurationsdatei von elasticsearch-analysis-ik befindet sich im Verzeichnis ~/es_root/plugins/ik/config/ik/. Viele davon sind Wortlisten, die Sie ändern können, indem Sie sie direkt mit einem Text öffnen Denken Sie daran, sie im UTF-8-Format zu speichern.

Starten Sie nun den Elasticsearch-Dienst. Wenn Sie eine Meldung wie die folgende sehen, bedeutet dies, dass das IK-Analyse-Plug-in installiert wurde:

plugins [analysis-ik]

3.3  Synonyme konfigurieren

Elasticsearch verfügt über einen Synonymfilter namens Synonym. Damit IK und Synonym gleichzeitig funktionieren, müssen wir einen neuen Analysator definieren, IK als Tokenizer und Synonym als Filter verwenden. Es hört sich kompliziert an, aber eigentlich müssen Sie lediglich einen Konfigurationsabschnitt hinzufügen.

Öffnen Sie die Datei ~/es_root/config/elasticsearch.yml und fügen Sie die folgende Konfiguration hinzu:

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

Die obige Konfiguration definiert zwei neue Analysatoren, ik_syno und ik_syno_smart, die den Wortsegmentierungsstrategien ik_max_word und ik_smart von IK entsprechen. Laut IK-Dokumentation bestehen die Unterschiede zwischen den beiden wie folgt:

  • ik_max_word: teilt den Text in die feinste Granularität auf und schöpft alle möglichen Kombinationen aus;
  • ik_smart: teilt den Text in die gröbste Granularität auf;

Sowohl ik_syno als auch ik_syno_smart verwenden einen Synonymfilter, um die Synonymkonvertierung zu implementieren. Um spätere Tests zu erleichtern, wird empfohlen, die Datei ~/es_root/config/analysis/synonym.txt zu erstellen, einige Synonyme einzugeben und sie im UTF-8-Format zu speichern. Zum Beispiel:

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

3.4  Elasticsearch integriert WordPress

WordPress-Plugin:

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

2. WP-Suche mit Elasticsearch: https://wordpress.org/plugins/db-search-with-elasticsearch/

Diese beiden Elasticsearch-WordPress-Plugins können uns dabei helfen, die Elasticsearch-Suche in WordPress zu integrieren. Aktivieren Sie zunächst das Plug-in und gehen Sie dann zur Seite mit den Plug-in-Einstellungen, um die Informationen zum Elasticsearch-Server einzugeben. (Klicken um zu vergrößern)

Anschließend können Sie WordPress-Artikel und -Seiten mit dem Elasticsearch-Server synchronisieren und mit der Indizierung beginnen.

4. Zusammenfassung

Die On-Site-Suchmaschine von Baidu eignet sich für Websites, die kein HTTPS verwenden und über einen großen Baidu-Index verfügen. Für neue Websites und Websites, die HTTPS verwenden, ist die Verwendung der On-Site-Suchmaschine von Baidu für ausländische Unternehmen sehr nachteilig Freunde und häusliche Freunde. Hören Sie auf, sich aufzuregen.

Die selbst erstellte Suche von Elasticsearch ist ein sehr gutes Tool mit leistungsstarken Funktionen. Die Volltextsuche für WordPress ist wirklich ein „kleiner Test“. Elasticsearch kann Dokumente indizieren, durchsuchen, sortieren und filtern und komplexe Volltextsuchen durchführen .

Hinterlasse eine Antwort