Sebbene la ricerca fornita con WordPress possa cercare alcune cose, a volte i risultati della ricerca non sono necessariamente soddisfacenti e non esiste una ricerca congiunta o fuzzy, quindi a volte è necessario specificare parole chiave precise per ottenere i risultati della ricerca. Inoltre, la ricerca fornita con WordPress si basa in gran parte sulle query del database MysqL, che possono richiedere molto tempo se il database è di grandi dimensioni.
Non è difficile sostituire la ricerca predefinita di WordPress Le persone che conoscono l'arte fondamentalmente sanno che site:wzfou.com xxx può cercare il contenuto del sito Web specificato Baidu e Google ha lanciato ricerche personalizzate, il che significa site:wzfou. com.com xxx è direttamente incorporato nel sito. Gli utenti possono vedere i risultati senza passare a Baidu e Google dopo aver fatto clic su Cerca.
Tuttavia, la ricerca personalizzata di Baidu e Google si basa sull'indice del motore di ricerca. Per i nuovi siti con pochi indici, a volte non è possibile cercare nuovi articoli, il che influisce sull'esperienza dell'utente. Di conseguenza, è nato Elasticsearch, un motore di ricerca autocostruito open source e gratuito. Si tratta di un motore di ricerca e analisi dei dati distribuito, scalabile e in tempo reale in grado di gestire ricerche full-text e statistiche in tempo reale di dati strutturati. .
Questo articolo condividerà come Baidu, la ricerca personalizzata di Google e la ricerca autocostruita di Elasticsearch integrano WordPress. Altri articoli sulla creazione di siti Web WordPress e sull'ottimizzazione di WP includono:
- Il processo di ottimizzazione Linux php-fpm experience-php-fpm occupa molta memoria e non rilascia problemi di memoria
- WordPress aggiunge Alipay, esempi di produzione di pulsanti premio WeChat e collegamento premio Paypal.me
- Consigliati cinque eccellenti lettori RSS - con una raccolta dei principali lettori RSS nazionali ed esteri
PS: aggiornato il 1 settembre 2019, Gli amici che non vogliono preoccuparsi delle ricerche personalizzate di Baidu e Google possono provare questo eccellente motore di ricerca in loco di terze parti: utilizza Algolia per aggiungere informazioni in tempo reale -Funzione di ricerca del sito per WordPress-Ricerca Qualità superiore e contenuti più accurati.
PS: aggiornato il 2 dicembre 2019, Se desideri creare una ricerca sul sito gratuita più potente e veloce, puoi anche provare
1. Motore di ricerca sul sito Baidu
sito web:
- HTTPS://resource.baidu.com/color/wiki/introduce
1.1 Utilizzo del motore di ricerca interno Baidu
Il primo passo è aggiungere il nome di dominio del sito web che desideri utilizzare al motore di ricerca Baidu.
2.1 Utilizzo di Google Ricerca Personalizzata
Accedi innanzitutto alla pagina ufficiale di ricerca personalizzata di Google, quindi fai clic su per creare una nuova ricerca personalizzata.
Il passaggio successivo è impostare l'URL che desideri indicizzare, assegnargli un nome, ecc. (Clicca per ingrandire)
Una volta creato, puoi fare clic per ottenere il codice.
La ricerca sul sito di Google fornisce anche impostazioni dell'aspetto, ottimizzazione dei risultati di ricerca e altre funzioni, che puoi adattare alle tue esigenze. (Clicca per ingrandire)
Google Ricerca personalizzata ti consente di aggiungere risultati di ricerca specifici, completamento automatico, sinonimi e altro ancora.
Questo è l'effetto di ricerca della ricerca personalizzata di Google. Incorporarlo in una pagina web può essere influenzato anche dal CSS originale, quindi è necessario perfezionarlo ulteriormente da soli. (Clicca per ingrandire)
Google Custom Search può anche cercare immagini, il che è davvero potente.
2.2 La ricerca personalizzata di Google non mostra il problema
Per motivi ben noti, la ricerca personalizzata di Google non può essere visualizzata correttamente in Cina, quindi come risolvere questo problema? Un metodo fattibile consiste nell'utilizzare la generazione inversa (vedere: associazione inversa Nginx) o localizzare i file relativi alla ricerca personalizzata di Google. È difficile da implementare...
Google Custom Search può effettivamente essere ospitato, con i seguenti effetti:
- HTTPS://color.Google.com/color/public URL?appear=011545314673148308753:3 e non può distruggere 6-KFC
3. Ricerca autocostruita Elasticsearch
sito web:
- HTTPS://wuwuwu.elastic.co
3.1 Installa Elasticsearch
Per l'installazione di Elasticsearch, puoi sostanzialmente fare riferimento al tutorial ufficiale. Ecco un riferimento diretto al metodo di installazione di imququ.com:
Sia la macchina virtuale che l'ambiente online sono Ubuntu 14.04.4 LTS ed Elasticsearch utilizza la versione più recente. Prima che tutto inizi, controlla innanzitutto se l'ambiente Java è installato sulla macchina. In caso contrario, puoi installarlo tramite il seguente comando:
sudo apt-get install openjdk-7-jre-headless
Scarica il pacchetto compresso Elasticsearch 2.3.0 e decomprimilo:
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
Rinomina la directory elasticsearch-2.3.0
decompressa in ~/es_root
(non ci sono restrizioni sul nome e sulla posizione, puoi spostarla in qualsiasi posizione ritieni appropriata). Elasticsearch non richiede installazione e può essere eseguito direttamente (nota: non può essere eseguito con l'account root):
BASHcd ~/es_root/bin/ chmod a+x elasticsearch ./elasticsearch
Se sullo schermo non viene visualizzato alcun messaggio di errore, il servizio Elasticsearch è stato avviato correttamente. Crea un nuovo terminale e usa curl per verificare:
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" }
Se vedi le informazioni sopra, è tutto normale. Altrimenti, trova la causa in base al messaggio di errore sullo schermo. Sebbene Elasticsearch stesso sia scritto in Java, può interagire con il mondo esterno tramite l'interfaccia RESTful, il che è molto comodo.
Per impostazione predefinita, è possibile accedere al servizio RESTful di Elasticsearch solo dalla macchina locale, il che significa che non è possibile accedere al servizio nella macchina virtuale dall'host. Per facilitare il debug, puoi modificare il file ~/es_root/config/elasticsearch.yml
e aggiungere le due righe seguenti:
network.bind_host: "0.0.0.0" network.publish_host: _non_loopback:ipv4_
Ma non configurare in questo modo nell'ambiente online, altrimenti chiunque potrebbe modificare i tuoi dati attraverso questa interfaccia.
3.2 Installa Analisi IK
Il segmentatore di parole fornito con la ricerca Elasticsearch separerà approssimativamente ogni carattere cinese direttamente, senza segmentare le parole in base al vocabolario. Per elaborare le ricerche in cinese è necessario installare anche il plug-in per la segmentazione delle parole cinesi. Sto utilizzando elasticsearch-analysis-ik, che supporta il lessico personalizzato.
Innanzitutto, scarica il plug-in elasticsearch-analysis-ik che corrisponde a Elasticsearch:
wget -c https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.0.zip unzip v1.9.0.zip
Dopo la decompressione, vai alla directory del codice sorgente del plug-in e compila:
BASHsudo apt-get install maven cd elasticsearch-analysis-ik-1.9.0 mvn package
Se tutto va bene, i file compilati si trovano nella directory target/releases/
. Decomprimilo e copialo nella directory corrispondente di ~/es_root
:
mkdir -p ~/es_root/plugins/ik/ unzip target/releases/elasticsearch-analysis-ik-1.9.0.zip -d ~/es_root/plugins/ik/
Il file di configurazione di elasticsearch-analysis-ik si trova nella directory ~/es_root/plugins/ik/config/ik/
Molti di essi sono elenchi di parole. Puoi modificarli aprendoli direttamente con un testo editor. Ricordati di salvarli come formato utf-8.
Ora avvia il servizio Elasticsearch Se visualizzi un messaggio simile al seguente, significa che è stato installato il plug-in IK Analysis:
plugins [analysis-ik]
3.3 Configura sinonimi
Elasticsearch viene fornito con un filtro di sinonimi chiamato sinonimo. Per far funzionare IK e sinonimo contemporaneamente, dobbiamo definire un nuovo analizzatore, utilizzare IK come tokenizzatore e sinonimo come filtro. Sembra complicato, ma in realtà tutto ciò che devi fare è aggiungere una sezione di configurazione.
Apri il file ~/es_root/config/elasticsearch.yml
e aggiungi la seguente configurazione:
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 configurazione di cui sopra definisce due nuovi analizzatori, ik_syno e ik_syno_smart, che corrispondono rispettivamente alle strategie di segmentazione delle parole ik_max_word e ik_smart di IK. Secondo la documentazione IK, le differenze tra i due sono le seguenti:
- ik_max_word: dividerà il testo nella granularità più fine ed esaurirà tutte le possibili combinazioni;
- ik_smart: dividerà il testo nella granularità più grossolana;
Sia ik_syno che ik_syno_smart utilizzeranno il filtro dei sinonimi per implementare la conversione dei sinonimi. Per facilitare i successivi test, si consiglia di creare il file ~/es_root/config/analysis/synonym.txt
, inserire alcuni sinonimi e salvarlo in formato utf-8. Per esempio:
ua,user-agent,userAgent js,javascript 谷歌=>google
3.4 Elasticsearch integra WordPress
Plug-in WordPress:
1. ElasticPress: https://wordpress.org/plugins/elasticpress/
2. Ricerca WP con Elasticsearch: https://wordpress.org/plugins/db-search-with-elasticsearch/
Questi due plug-in Elasticsearch WordPress possono aiutarci a integrare la ricerca Elasticsearch in WordPress. Innanzitutto, attiva il plug-in, quindi vai alla pagina delle impostazioni del plug-in per inserire le informazioni relative al server Elasticsearch. (Clicca per ingrandire)
Quindi puoi sincronizzare gli articoli e le pagine di WordPress sul server Elasticsearch e avviare l'indicizzazione.
4. Riepilogo
Il motore di ricerca sul sito Baidu è adatto per i siti Web che non utilizzano HTTPS e hanno un indice Baidu di grandi dimensioni. È molto svantaggioso per i nuovi siti e siti Web che utilizzano HTTPS utilizzare il motore di ricerca personalizzato Google Baidu per gli stranieri amici e amici domestici.
La ricerca autocostruita di Elasticsearch è un ottimo strumento con funzioni potenti. La ricerca full-text per WordPress è davvero un "piccolo test". Elasticsearch può indicizzare, cercare, ordinare e filtrare documenti e può eseguire ricerche full-text complesse .