Campo ferramentas Drupal hospedagem
Introdução
Uma implementação de uma pesquisa eficaz é uma das tarefas mais difíceis em desenvolvimento, mas também é uma chave para o sucesso de diversos sites e aplicações. Uma rápida pesquisa e recuperação de resultados relevantes afetar a qualidade de serviço ao cliente para que os visitantes podem encontrar de forma eficiente o conteúdo que eles procuram.
sites de alto tráfego e sites com um difíceis consultas de pesquisa estrutura de execução internas contra um banco de dados pode afetar o desempenho geral. Para resolver este problema e reduzir um número de consultas ao banco de dados que pode estender a funcionalidade padrão Drupal utilizando diferentes plataformas de pesquisa. Além disso, estas soluções oferecem uma funcionalidade mais flexível, tal como uma busca facetada, distorcido, ou invertido.
Neste artigo descrevemos o mais útil e fácil de integrar com motores de busca Drupal. No geral, fizemos uma análise dos pontos fortes e fracos dos sistemas diferentes, dependendo das necessidades do projeto.
No local fase de concepção, precisamos descobrir o que os visitantes do site de conteúdo deve ser capaz de encontrar e, em seguida, descobrir o melhor instrumento para implementá-lo de acordo com nossas necessidades.
núcleo Pesquisa
Drupal vem com o módulo de pesquisa built-in, que pode ser o suficiente para pequenos sites ou sites com uma estrutura simples. Mas ele não fornece muita personalização (por exemplo, você pode querer exibir diferentes tipos de produtos, dependendo de uma função de usuário, ou você pode querer introduzir uma classificação facetada). Este módulo pode executar mal no alto tráfego e grandes sites por causa de todas as consultas funcionam através de um banco de dados. Para sites de grande escala com lotes de conteúdo, esta opção poderia consumir os seus recursos de servidor e desacelerar o site.
Search API
Para projetos mais complicados que temos um dos módulos mais poderosos e indispensáveis para Drupal - Pesquisar API. É um conjunto de ferramentas para a criação de pesquisas em sites Drupal e este módulo também pode integrar outras ferramentas de busca em seu site. Ele tem um apoio de diferentes serviços de pesquisa adicionais, como esfinge ou Solr (a lista completa dos projectos suportados pode ser encontrada aqui), integra-se com o módulo Views e compreende arquitetura de conteúdo do Drupal bem. A versão Drupal 8 do módulo vem com uma série de mudanças. Na primeira, Drupal 7 tem 2 módulos para integração com Solr - um dos motores de busca mais populares: Pesquisa API e Apache Solr busca. Agora Buscar API é o único módulo para integração com Solr em Drupal 8. Além disso, a nova versão do módulo vem com busca backend out-of-the-box que usa seu próprio banco de dados Drupal. Neste momento este módulo é utilizado por 7-8 milhares de sites, mas ainda é na fase beta, por isso vai levar algum tempo para liberá-lo.
A solução mais simples e pouco exigente para necessidades de hospedagem é banco de dados Pesquisa API. Como se diz na página de módulo: ‘É, portanto, uma alternativa barata e simples de backends como Solr, mas também pode ser uma ótima opção para locais maiores, se você sabe o que está fazendo’. Este módulo é construído para a solução de pesquisa módulo Search API. Ele fornece uma pesquisa muito mais forte do que os Drupal ofertas de busca out-of-the-box core e pode ser usado em qualquer site Drupal e ambiente de hospedagem.
Google Pesquisa personalizada
Outra boa opção para um pequeno site é motores de busca rastreador com base, por exemplo, o Google Pesquisa Personalizada. É uma pesquisa embutido que se baseia em dados de esteira e sitemap.xml do Google de terceiros para rastrear através do site. Existem várias vantagens de usar este motor.
Na primeira, você não precisa armazenar um índice de pesquisa, porque vem de serviço do Google. Além disso, você pode integrá-lo com um Sitemap XML para um melhor controle sobre o conteúdo indexado. Por último, um processo de pesquisa tende a ser realizado rapidamente.
A desvantagem dessa abordagem é que ela não fornece controle sobre o processo de pesquisa, por exemplo, para obter resultados de pesquisa ordem ou como os resultados são exibidos e esta abordagem não tem uma pesquisa facetada ou baseados em campo.
Normalmente, os resultados da pesquisa aparecem em um iframe ou outra página, mas a versão paga do Google Custom Search permite que você desenvolva sua própria interface de usuário para os resultados da pesquisa.
Search Platform External
Um motor de busca que é executado fora do Drupal no seu servidor web é uma das ferramentas mais avançadas para a pesquisa no site.
Digamos que, se você tem um par de milhares de registros, não é assustador. Se você tem um par de centenas de milhares ou milhões de registros, uma consulta MySQL vai ter um monte de tempo. Caching nem sempre salvar uma situação. Aqui, um motor de busca pode mostrar-se em toda a sua glória.
Por outro lado, estes motores podem ser difíceis de implantar, se o seu site está hospedado em padrão PHP compartilhada / MySQL hospedagem, alguns deles podem exigir a instalação de bibliotecas adicionais.
Solr - a solução baseado em Lucene - é um dos mais famosos motores de busca, expandindo significativamente as suas capacidades. É um servidor de nível empresarial separado que fornece um serviço de pesquisa web. Solr Norma aceita documentos sobre HTTP em formato XML e retorna um resultado através de HTTP (XML, JSON ou outro formato). É totalmente compatível com clustering e replicação em vários servidores, suporta a busca facetada e filtragem, tem ferramentas de configuração avançada.
Outra solução para o servidor de pesquisa é ElasticSearch. É, um motor de busca distribuídos com base REST que também é alimentado pela biblioteca Lucene. Ele oferece built-in API JSON + HTTP.
Solr é mais orientada para uma pesquisa de texto enquanto ElasticSearch é muitas vezes usado para um melhor desempenho na análise de consulta, filtragem e agrupamento. Comparando os dois, ElasticSearch é uma escolha melhor para aplicações que requerem não só a pesquisa de texto, mas também uma pesquisa série temporal complexa e agregações.
Ambos os motores de busca apoiar o agrupamento e arquitetura distribuída. ElasticSearch é simples de escala e é muito útil quando se trata de casos de uso em que são necessárias grandes aglomerados. Tem um componente embutido chamado Zen que usa seu próprio mecanismo de coordenação interna para lidar com um estado cluster.
Solr suporta distribuído modo de implementação SolrCloud, depende Apache ZooKeeper.
Conclusão
Resumindo todo o exposto, neste artigo nós cobrimos várias abordagens de organizar uma pesquisa em um site Drupal.
Para sites pequenos, podemos usar a busca integrada do Drupal ou uma combinação de Search API e uma pesquisa de banco de dados, que nos fornece mais funções.
De qualquer forma, Crawler Search Engine pode ser outra solução boa e barata que pode reduzir a carga do servidor de banco de dados.
Para os sites com muito conteúdo e os visitantes podemos implementar um backends de busca externos. Embora os motores de busca pode ser difícil de implementar, se o seu site está hospedado em padrão PHP shared / MySQL, este problema pode ser resolvido com os anfitriões web externos.
Entre a comunidade Drupal Solr é o motor de busca mais popular, tem um grande número de módulos adicionais, por exemplo, para a integração com o Commerce ou Ubercart, recursos de preenchimento automático, busca geo e outros. Então, se você está procurando uma solução turnkey, Apache Solr pode ser uma boa choiсe para você.
Outra boa opção é ElasticSearch, frequentemente usado em consulta analítica e agrupamento devido às suas características de agregação e de percolação. Um módulo de integração com Drupal - Conector ElasticSearch - suporta uma pesquisa facetada, a integração com recursos de vigilância, de preenchimento automático e localização.