Aqui em nosso blog nós já falamos sobre CACHE e que ter um cache é o grande diferencial para entregar o conteúdo do seu portal de notícias da maneira mais rápida possível. Só que mesmo aplicando tecnologias de CACHE, algumas áreas do site ainda são muito dinâmicas e acabam dependendo do banco de dados principal do seu site.

Problema com buscas lentas no site

Como falamos anteriormente, não é possível fazer CACHE de todas as opções de busca. Sempre que é feita uma busca por algum termo ou palavra-chave que não está salvo no CACHE, a requisição é passada a sua aplicação principal. Neste caso, a experiência para o leitor do seu site de notícias é que a busca é muito mais demorada porque a maior parte do volume do seu site é exibida imediatamente.

Bancos de dados NoSQL para otimizar buscas

Já explicamos que bancos de dados estruturados como MySQL, Postgres, SQL Server e Oracle, embora atendam o propósito geral de um CMS (Content Management System) de um portal de conteúdo, são deficitários em relação a outras soluções para busca por notícias e postagens. Essa nova tecnologia de banco de dados, com melhor desempenho para algumas funções, são chamados de banco de dados NoSQL. Tem esse nome porque eles não possuem uma sintaxe de programação padrão para inserir e remover dados. Ou seja, não possuem suporte a linguagem SQL (Structured Query Language).

ElasticSearch é a recomendação

Aqui na ServerDo.in temos um núcleo de hospedagem de portais de conteúdo, formado programadores e técnicos em infraestrutura, fez testes das mais diversas soluções de bancos NoSQL buscando a melhor solução em desempenho e facilidade de integração com soluções existentes. Nossa equipe fez testes com outras soluções como MongoDB, Solr, Sphinx, Riak e RavenDB, nenhuma, em nossa avaliação, levando em conta desempenho e facilidade de integração, superou os resultados que obtivemos com o ElasticSearch, da Elastic Stack.

Como deixar a busca mais rápida

Para deixar a busca mais rápida você deve instalar o ElasticSearch.

Depois, deve ajustar sua aplicação para sincronizar os dados (notícias) entre o banco de dados do CMS e o banco de dados ElasticSearch.

Por fim, a aplicação deve ser ajustada para fazer as buscas no banco ElasticSearch e não no banco convencional como MySQL, Postgres e etc..

Essa operação deve ser feita pela sua equipe de desenvolvimento. Se você não possui, podemos indicar profissionais para realizar essa adequação ao seu site.

Otimizar buscas com ElasticSearch no WordPress é muito fácil

Clientes ServerDo.in que possuem Cloud Gerenciado não precisam se preocupar com essa configuração. Nossa equipe cuida de toda a instalação e configuração para você. Se não sabe das vantagens de nosso Cloud Gerenciado, onde você só se preocupa com o conteúdo e todo o resto nossa equipe cuida, leia o post que publicamo sobre o assunto.

A primeira etapa é no seu servidor instalar o ElasticSearch.

A instalação do ElasticSearch integrado com o WordPress para deixar as buscas mais rápidas é feita usando um plugin chamado ElasticPress.

Essa é a tela inicial do Plugin ElasticPress, responsável pela integração fácil entre o WordPress e o ElasticSearch

 

Após a instalação do plugin, você deve ir na área de configuração do plugin. Basta clicar no ícone da engrenagem que aparece no topo superior direito da barra branca do plugin. Na tela de configurações, você deve configurar o endereço do servidor ElasticSearch, se os dois estão no mesmo servidor, o endereço deve ser http://localhost:9200.

Na tela de configurações, na aba “Trird-Party/Self-Hosted” você deve configurar o endereço do servidor ElasticSearch que instalou na etapa anterior.

 

Após a configuração deve ser feita a sincronização, o processo de leitura das notícias do banco MySQL WordPress para alimentar a base ElasticSearch.

Clicando no ícone de sincronização as notícias do seu banco de dados WordPress MySQL serão levadas para o ElasticSearch e assim sua busca ficará muito mais rápida.