Como funciona a busca no Drupal 7 ?

Este artigo mostra de forma mais aprofundada como a pesquisa do Drupal 7 organiza e encontra os conteúdos mais relevantes ao usuário com foco no desenvolvedor.

Muito se fala de SEO (Search Engine Optimization), onde os conteúdos são organizados e porque não dizer otimizados para serem facilmente encontrados em ferramentas de busca como Google e Bing. Isso com certeza é muito importante pois traz novos usuários para seu site, mas depois que entraram no site é importante que eles realmente encontrem o que procuram. Para isso uma busca interna (internal search) é essencial.

Funcionamento da busca

Quando um usuário digita uma palavra no campo de busca em um site (1), o Drupal vai em um índice (2) e encontra os conteúdos mais relevantes de acordo com a pontuação em um índice (3) (4).

Captura de Tela 2014-07-22 às 22.32.27

Criação e atualização do índice

O índice é construído e atualizado de tempos em tempos através do processo de Cron. Então o Cron lê cada conteúdo, separa as palavras, cria a pontuação e salva tudo isso na base de dados. O tempo do Cron pode ser configurado para executar toda hora, a cada 3 horas, diariamente, etc.

Captura de Tela 2014-07-22 às 22.48.52

Quando um novo conteúdo é cadastrado, ele só estará disponível para pesquisa após ser processado, corretamente pontuado e adicionado ao índice.

É possível visualizar o status e reiniciar o processo de construção do índice através da configuração da busca (Admin > Config > Search > Settings).

Captura de Tela 2014-07-22 às 23.07.08

Contabilização de relevância de um conteúdo

O Drupal é basicamente utiliza HTML para indicar o que é mais relevante em um conteúdo. Por exemplo se você escreveu um artigo e utilizou um título ou destacou uma palavra com negrito, o Drupal entende que essas palavras são mais importantes no conteúdo do que as demais palavras.

Cada palavra é separada e pontuada seguindo a tabela abaixo:

Captura de Tela 2014-07-22 às 22.35.07

Como a palavra pode se repetir em cada conteúdo, é feita uma somatória de todas as vezes que a palavra se repete. Em resumo quando o usuário pesquisa algo o Drupal traz o conteúdo onde a palavra aparece mais vezes e em destaque (H1, H2, b, etc).

Captura de Tela 2014-07-22 às 22.36.28

Existem algumas opções para alterar a relevância de um conteúdo, entre elas o número de comentários e recentemente postado.

Captura de Tela 2014-07-22 às 23.06.59

É possível ainda aumentar as opções de configuração da pesquisa no Drupal utilizando alguns módulos como Custom Search ou o Search Lucene API, mas isso é assunto para outros posts! 😀

Referências:
http://www.lullabot.com/blog/article/drupals-search-module-and-scoring-factors
https://www.acquia.com/blog/drupal-search-how-indexing-works

Facebook

Also published on Medium.

Deixe seu comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.