Embora a pesquisa que vem com o WordPress possa pesquisar algumas coisas, às vezes os resultados da pesquisa não são necessariamente satisfatórios e não há pesquisa conjunta ou pesquisa difusa, então às vezes você precisa especificar palavras-chave precisas para obter os resultados da pesquisa. Além disso, a pesquisa que acompanha o WordPress depende muito de consultas ao banco de dados Mysql, o que pode ser demorado se o banco de dados for grande.

Não é difícil substituir a pesquisa padrão do WordPress. Pessoas que conhecem a arte basicamente sabem que site:wzfou.com xxx pode pesquisar o conteúdo do site especificado. O Baidu e o Google lançaram pesquisas personalizadas, o que significa site:wzfou. com. com xxx está diretamente incorporado ao site. Os usuários podem ver os resultados sem acessar o Baidu e o Google após clicar em pesquisar.

No entanto, a pesquisa personalizada do Baidu e do Google depende do índice do mecanismo de pesquisa. Para novos sites com poucos índices, às vezes novos artigos não podem ser pesquisados, o que afeta a experiência do usuário. Como resultado, nasceu o Elasticsearch, um mecanismo de pesquisa de código aberto e gratuito. É um mecanismo de pesquisa e análise de dados distribuído, escalonável e em tempo real que pode lidar com pesquisa de texto completo e estatísticas em tempo real de dados estruturados. .

Melhorar nossa pesquisa no site - Baidu, pesquisa personalizada do Google e pesquisa autoconstruída do Elasticsearch

Este artigo irá compartilhar como o Baidu, a pesquisa personalizada do Google e a pesquisa autoconstruída do Elasticsearch integram o WordPress. Mais artigos sobre a construção de sites WordPress e otimização de WP incluem:

  1. O processo de experiência de otimização php-fpm do Linux ocupa muita memória e não libera problemas de memória
  2. WordPress adiciona exemplos de produção de botão de recompensa Alipay, WeChat e link de recompensa Paypal.me
  3. Cinco excelentes leitores de RSS recomendados - com uma coleção dos principais leitores de RSS nacionais e estrangeiros

PS: Atualizado em 1º de setembro de 2019, Amigos que não querem se preocupar com pesquisas personalizadas do Baidu e do Google podem experimentar este excelente mecanismo de pesquisa de terceiros no site: Use Algolia para adicionar em tempo real -função de pesquisa de sites para WordPress-Search Conteúdo de maior qualidade e mais preciso.

PS: Atualizado em 2 de dezembro de 2019, Se você deseja construir uma pesquisa gratuita no site mais poderosa e rápida, você também pode tentar Mecanismo de pesquisa de texto completo de alto desempenho RediSearch: RediSearch high - Mecanismo de pesquisa de texto completo de desempenho Mecanismo de pesquisa - Integre-se ao WordPress para criar pesquisas de alta qualidade.

1. Mecanismo de pesquisa no site Baidu

local na rede Internet:

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

1.1  Uso do mecanismo de pesquisa no site Baidu

A primeira etapa é adicionar o nome de domínio do site que deseja usar ao mecanismo de pesquisa Baidu.

2.1  Uso da pesquisa personalizada do Google

Primeiro faça login na página oficial da Pesquisa personalizada do Google e clique para criar uma nova pesquisa personalizada.

A próxima etapa é definir o URL que deseja indexar, nomeá-lo, etc. (Clique para ampliar)

Uma vez criado, você pode clicar para obter o código.

A pesquisa no site do Google também oferece configurações de aparência, otimização de resultados de pesquisa e outras funções, que você pode ajustar de acordo com suas necessidades. (Clique para ampliar)

A Pesquisa personalizada do Google permite fixar resultados de pesquisa específicos, preenchimento automático, sinônimos e muito mais.

Este é o efeito de pesquisa da pesquisa personalizada do Google. Incorporá-lo em uma página da web também pode ser afetado pelo CSS original, então você mesmo precisa ajustá-lo ainda mais. (Clique para ampliar)

A Pesquisa personalizada do Google também pode pesquisar imagens, o que é realmente poderoso.

2.2  A pesquisa personalizada do Google não exibe o problema

Por motivos bem conhecidos, a pesquisa personalizada do Google não pode ser exibida corretamente na China, então como resolver esse problema? Um método viável é usar a geração reversa (consulte: ligação reversa do Nginx) ou localizar os arquivos relacionados à pesquisa personalizada do Google. É difícil implementar...

Na verdade, a Pesquisa personalizada do Google pode ser hospedada, com os seguintes efeitos:

  1. HTTPS://color.Google.com/color/public URL?appear=011545314673148308753:3 e não pode destruir 6-KFC

3. Pesquisa autoconstruída do Elasticsearch

local na rede Internet:

  1. HTTPS://wuwuwu.elastic.co

3.1  Instale o Elasticsearch

Para instalação do Elasticsearch, você pode basicamente consultar o tutorial oficial. Aqui está uma referência direta ao método de instalação de imququ.com:

Tanto a máquina virtual quanto o ambiente online são Ubuntu 14.04.4 LTS e o Elasticsearch usa a versão mais recente. Antes de tudo começar, primeiro verifique se o ambiente java está instalado na máquina. Caso contrário, você pode instalá-lo através do seguinte comando:

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

Baixe o pacote compactado do Elasticsearch 2.3.0 e descompacte-o:

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

Renomeie o diretório elasticsearch-2.3.0 descompactado para ~/es_root (não há restrições quanto ao nome e local, você pode movê-lo para qualquer local que achar apropriado). Elasticsearch não requer instalação e pode ser executado diretamente (nota: não pode ser executado com a conta root):

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

Se nenhuma mensagem de erro for impressa na tela, o serviço Elasticsearch foi iniciado com sucesso. Crie um novo terminal e use curl para verificar:

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 você vir as informações acima, tudo está normal. Caso contrário, encontre a causa de acordo com a mensagem de erro na tela. Embora o próprio Elasticsearch seja escrito em java, ele pode interagir com o mundo exterior por meio da interface RESTful, o que é muito conveniente.

Por padrão, o serviço RESTful do Elasticsearch só pode ser acessado pela máquina local, o que significa que o serviço na máquina virtual não pode ser acessado pelo host. Para facilitar a depuração, você pode modificar o arquivo ~/es_root/config/elasticsearch.yml e adicionar as duas linhas a seguir:

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

Mas não configure assim no ambiente online, caso contrário qualquer pessoa poderá modificar seus dados através desta interface.

3.2  Instalar Análise IK

O segmentador de palavras que vem com a pesquisa do Elasticsearch separará aproximadamente cada caractere chinês diretamente, sem segmentar as palavras de acordo com o vocabulário. Para processar pesquisas em chinês, você também precisa instalar o plug-in de segmentação de palavras em chinês. Estou usando elasticsearch-análise-ik, que suporta léxico personalizado.

Primeiro, baixe o plugin elasticsearch-análise-ik que corresponde ao Elasticsearch:

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

Após a descompactação, acesse o diretório do código-fonte do plug-in e compile:

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

Se tudo correr bem, os arquivos compilados podem ser encontrados no diretório target/releases/. Descompacte-o e copie-o para o diretório correspondente de ~/es_root:

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

O arquivo de configuração do elasticsearch-análise-ik está no diretório ~/es_root/plugins/ik/config/ik/. Muitos deles são listas de palavras. editor. Lembre-se de salvá-los no formato utf-8.

Agora inicie o serviço Elasticsearch. Se você vir uma mensagem semelhante à seguinte, significa que o plug-in IK Analysis foi instalado:

plugins [analysis-ik]

3.3  Configurar sinônimos

Elasticsearch vem com um filtro de sinônimo chamado sinônimo. Para fazer com que IK e sinônimo funcionem ao mesmo tempo, precisamos definir um novo analisador, usar IK como tokenizador e sinônimo como filtro. Parece complicado, mas na verdade tudo que você precisa fazer é adicionar uma seção de configuração.

Abra o arquivo ~/es_root/config/elasticsearch.yml e adicione a seguinte configuração:

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

A configuração acima define dois novos analisadores, ik_syno e ik_syno_smart, que correspondem às estratégias de segmentação de palavras ik_max_word e ik_smart da IK, respectivamente. De acordo com a documentação do IK, as diferenças entre os dois são as seguintes:

  • ik_max_word: dividirá o texto na granularidade mais fina e esgotará todas as combinações possíveis;
  • ik_smart: irá dividir o texto na granularidade mais grosseira;

Tanto ik_syno quanto ik_syno_smart usarão filtro de sinônimos para implementar a conversão de sinônimos. Para facilitar os testes posteriores, recomenda-se criar o arquivo ~/es_root/config/análise/synonym.txt, inserir alguns sinônimos e salvá-lo no formato utf-8. Por exemplo:

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

3.4  Elasticsearch integra WordPress

Plug-in WordPress:

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

2. Pesquisa WP com Elasticsearch: https://wordpress.org/plugins/db-search-with-elasticsearch/

Esses dois plug-ins do Elasticsearch WordPress podem nos ajudar a integrar a pesquisa do Elasticsearch ao WordPress. Primeiro, ative o plug-in e, em seguida, vá para a página de configurações do plug-in para preencher as informações relacionadas ao servidor Elasticsearch. (Clique para ampliar)

Em seguida, você pode sincronizar artigos e páginas do WordPress com o servidor Elasticsearch e iniciar a indexação.

4. Resumo

O mecanismo de pesquisa no site Baidu é adequado para sites que não usam HTTPS e têm um grande índice do Baidu. É muito desvantajoso para novos sites e sites que usam HTTPS usar o mecanismo de pesquisa personalizado no site Baidu do Google é adequado para estrangeiros. amigos e amigos domésticos.

A pesquisa autoconstruída do Elasticsearch é uma ferramenta muito boa com funções poderosas. A pesquisa de texto completo para WordPress é realmente um "pequeno teste". O Elasticsearch pode indexar, pesquisar, classificar e filtrar documentos e pode realizar pesquisas complexas de texto completo. .

Deixe uma resposta