Aunque la búsqueda que viene con WordPress puede buscar algunas cosas, a veces los resultados de la búsqueda no son necesariamente satisfactorios y no existe una búsqueda conjunta o una búsqueda difusa, por lo que a veces es necesario especificar palabras clave precisas para obtener los resultados de la búsqueda. Además, la búsqueda que viene con WordPress depende en gran medida de las consultas de la base de datos MysqL, lo que puede llevar mucho tiempo si la base de datos es grande.
No es difícil reemplazar la búsqueda predeterminada de WordPress. Las personas que conocen el arte básicamente saben que site:wzfou.com xxx puede buscar el contenido del sitio web especificado y Google ha lanzado búsquedas personalizadas, es decir, site:wzfou. com. com xxx está directamente integrado en el sitio. Los usuarios pueden ver los resultados sin tener que acceder a Baidu y Google después de hacer clic en buscar.
Sin embargo, la búsqueda personalizada de Baidu y Google se basa en el índice del motor de búsqueda. Para sitios nuevos con pocos índices, a veces no se pueden buscar artículos nuevos, lo que afecta la experiencia del usuario. Como resultado, nació Elasticsearch, un motor de búsqueda de código abierto y gratuito de construcción propia. Es un motor de análisis de datos y búsqueda distribuido, escalable y en tiempo real que puede manejar búsquedas de texto completo y estadísticas en tiempo real de datos estructurados. .
Este artículo compartirá cómo Baidu, la búsqueda personalizada de Google y la búsqueda autoconstruida de Elasticsearch integran WordPress. Más artículos sobre la creación de sitios web de WordPress y la optimización de WP incluyen:
- Experiencia de optimización de php-fpm de Linux: el proceso php-fpm ocupa mucha memoria y no libera problemas de memoria
- WordPress agrega Alipay, ejemplos de producción de botones de recompensa de WeChat y enlaces de recompensa de Paypal.me
- Se recomiendan cinco excelentes lectores de RSS, con una colección de los principales lectores de RSS nacionales y extranjeros.
PD: Actualizado el 1 de septiembre de 2019, Los amigos que no quieran molestarse con las búsquedas personalizadas de Baidu y Google pueden probar este excelente motor de búsqueda de terceros en el sitio: use Algolia para agregar búsquedas en tiempo real. -Función de búsqueda de sitios para WordPress-Buscar contenido más preciso y de mayor calidad.
PD: actualizado el 2 de diciembre de 2019, Si desea crear una búsqueda en el sitio gratuita más potente y rápida, también puede probar
1. Motor de búsqueda en el sitio de Baidu
sitio web:
- HTTPS://resource.baidu.com/color/wiki/introduce
1.1 Uso del motor de búsqueda en el sitio Baidu
El primer paso es agregar el nombre de dominio del sitio web que desea utilizar al motor de búsqueda de Baidu.
2.1 Uso de la búsqueda personalizada de Google
Primero inicie sesión en la página oficial de búsqueda personalizada de Google y luego haga clic para crear una nueva búsqueda personalizada.
El siguiente paso es configurar la URL que desea indexar, nombrarla, etc. (Click para agrandar)
Una vez creado, puede hacer clic para obtener el código.
La búsqueda en el sitio de Google también proporciona configuraciones de apariencia, optimización de los resultados de búsqueda y otras funciones, que puede ajustar según sus propias necesidades. (Click para agrandar)
La búsqueda personalizada de Google le permite fijar resultados de búsqueda específicos, autocompletar, sinónimos y más.
Este es el efecto de búsqueda de la Búsqueda personalizada de Google. Incrustarlo en una página web también puede verse afectado por el CSS original, por lo que debe ajustarlo aún más usted mismo. (Click para agrandar)
La Búsqueda personalizada de Google también puede buscar imágenes, lo cual es realmente poderoso.
2.2 La búsqueda personalizada de Google no muestra el problema
Por razones bien conocidas, la búsqueda personalizada de Google no se puede mostrar correctamente en China, entonces, ¿cómo solucionar este problema? Un método viable es utilizar la generación inversa (ver: enlace inverso de Nginx) o localizar archivos relacionados con la búsqueda personalizada de Google. Es difícil de implementar...
De hecho, la Búsqueda personalizada de Google se puede alojar, con los siguientes efectos:
- HTTPS://color.Google.com/color/public URL?appear=011545314673148308753:3 y no puede destruir 6-KFC
3. Búsqueda autoconstruida de Elasticsearch
sitio web:
- HTTPS://wuwuwu.elastic.co
3.1 Instalar Elasticsearch
Para la instalación de Elasticsearch, básicamente puede consultar el tutorial oficial. Aquí hay una referencia directa al método de instalación de imququ.com:
Tanto la máquina virtual como el entorno en línea son Ubuntu 14.04.4 LTS y Elasticsearch usa la última versión. Antes de que todo comience, primero verifique si el entorno Java está instalado en la máquina. De lo contrario, puede instalarlo mediante el siguiente comando:
sudo apt-get install openjdk-7-jre-headless
Descargue el paquete comprimido Elasticsearch 2.3.0 y descomprímalo:
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
Cambie el nombre del directorio elasticsearch-2.3.0
descomprimido a ~/es_root
(no hay restricciones en el nombre y la ubicación, puede moverlo a cualquier ubicación que considere apropiada). Elasticsearch no requiere instalación y se puede ejecutar directamente (nota: no se puede ejecutar con la cuenta raíz):
BASHcd ~/es_root/bin/ chmod a+x elasticsearch ./elasticsearch
Si no aparece ningún mensaje de error en la pantalla, el servicio Elasticsearch se ha iniciado correctamente. Crea una nueva terminal y verifícala con 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 ve la información anterior, todo es normal. De lo contrario, busque la causa según el mensaje de error en la pantalla. Aunque Elasticsearch está escrito en Java, puede interactuar con el mundo exterior a través de la interfaz RESTful, lo cual es muy conveniente.
De forma predeterminada, solo la máquina local puede acceder al servicio RESTful de Elasticsearch, lo que significa que no se puede acceder al servicio en la máquina virtual desde el host. Para facilitar la depuración, puede modificar el archivo ~/es_root/config/elasticsearch.yml
y agregar las siguientes dos líneas:
network.bind_host: "0.0.0.0" network.publish_host: _non_loopback:ipv4_
Pero no configure de esta manera en el entorno en línea, de lo contrario cualquiera puede modificar sus datos a través de esta interfaz.
3.2 Instalar análisis IK
El segmentador de palabras que viene con la búsqueda de Elasticsearch separará aproximadamente cada carácter chino directamente, sin segmentar las palabras según el vocabulario. Para procesar búsquedas en chino, también necesita instalar el complemento de segmentación de palabras en chino. Estoy usando elasticsearch-analysis-ik, que admite léxico personalizado.
Primero, descargue el complemento elasticsearch-analysis-ik que coincida con Elasticsearch:
wget -c https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.9.0.zip unzip v1.9.0.zip
Después de la descompresión, vaya al directorio del código fuente del complemento y compile:
BASHsudo apt-get install maven cd elasticsearch-analysis-ik-1.9.0 mvn package
Si todo va bien, los archivos compilados se pueden encontrar en el directorio target/releases/
. Descomprímelo y cópialo en el directorio correspondiente de ~/es_root
:
mkdir -p ~/es_root/plugins/ik/ unzip target/releases/elasticsearch-analysis-ik-1.9.0.zip -d ~/es_root/plugins/ik/
El archivo de configuración de elasticsearch-analysis-ik está en el directorio ~/es_root/plugins/ik/config/ik/
. Muchas de ellas son listas de palabras. Puede modificarlas abriéndolas directamente con un texto. editor. Recuerde guardarlos en formato utf-8.
Ahora inicie el servicio Elasticsearch. Si ve un mensaje similar al siguiente, significa que se ha instalado el complemento IK Analysis:
plugins [analysis-ik]
3.3 Configurar sinónimos
Elasticsearch viene con un filtro de sinónimos llamado sinónimo. Para que IK y el sinónimo funcionen al mismo tiempo, necesitamos definir un nuevo analizador, usar IK como tokenizador y sinónimo como filtro. Suena complicado, pero en realidad lo único que necesitas hacer es añadir una sección de configuración.
Abra el archivo ~/es_root/config/elasticsearch.yml
y agregue la siguiente configuración:
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 configuración anterior define dos nuevos analizadores, ik_syno e ik_syno_smart, que corresponden a las estrategias de segmentación de dos palabras de IK, ik_max_word e ik_smart, respectivamente. Según la documentación de IK, las diferencias entre los dos son las siguientes:
- ik_max_word: dividirá el texto en la granularidad más fina y agotará todas las combinaciones posibles;
- ik_smart: dividirá el texto en la granularidad más gruesa;
Tanto ik_syno como ik_syno_smart utilizarán un filtro de sinónimos para implementar la conversión de sinónimos. Para facilitar las pruebas posteriores, se recomienda crear el archivo ~/es_root/config/analysis/synonym.txt
, ingresar algunos sinónimos y guardarlo en formato utf-8. Por ejemplo:
ua,user-agent,userAgent js,javascript 谷歌=>google
3.4 Elasticsearch integra WordPress
Complemento de WordPress:
1. ElasticPress: https://wordpress.org/plugins/elasticpress/
2. Búsqueda de WP con Elasticsearch: https://wordpress.org/plugins/db-search-with-elasticsearch/
Estos dos complementos de Elasticsearch WordPress pueden ayudarnos a integrar la búsqueda de Elasticsearch en WordPress. Primero, active el complemento y luego vaya a la página de configuración del complemento para completar la información relacionada con el servidor Elasticsearch. (Click para agrandar)
Luego puede sincronizar artículos y páginas de WordPress con el servidor Elasticsearch y comenzar a indexar.
4. Resumen
El motor de búsqueda en el sitio de Baidu es adecuado para sitios web que no usan HTTPS y tienen un índice de Baidu grande. Es muy desventajoso para los sitios nuevos y los sitios web que usan HTTPS usar el motor de búsqueda en el sitio de Baidu en Google es adecuado para extranjeros. Amigos y amigos domésticos.
La búsqueda autoconstruida de Elasticsearch es una muy buena herramienta con funciones poderosas. La búsqueda de texto completo para WordPress es realmente una "pequeña prueba" que Elasticsearch puede indexar, buscar, ordenar y filtrar documentos, y puede realizar búsquedas complejas de texto completo. .