Estou construindo um projeto Django que precisa da funcionalidade de pesquisa e, até que haja um django.contrib.search
, tenho que escolher um aplicativo de pesquisa. Então, qual é o melhor? Por "melhor" quero dizer ...
- fácil de instalar / configurar
- tem uma API compatível com Django ou pelo menos Python
- pode realizar pesquisas razoavelmente complexas
Aqui estão alguns aplicativos dos quais já ouvi falar. Sugira outros se você souber de algum:
Eu também gostaria de evitar o uso de um mecanismo de pesquisa de terceiros (como o Google SiteSearch), porque alguns dos dados que eu gostaria de indexar são apenas para membros do site e não devem ser públicos.
python
django
search
search-engine
Justin Voss
fonte
fonte
Respostas:
Confira Haystack Search - uma nova camada de abstração de pesquisa baseada em modelo que atualmente suporta Xapian , Solr e Whoosh . Parece que está bem suportado e documentado.
fonte
Justin, eu tentaria djangosearch primeiro: Jacob Kaplan-Moss (desenvolvedor líder do Django) está trabalhando nisso.
Riscos potenciais:
Benefícios potenciais:
django.contrib.search
.”fonte
Estou procurando a mesma coisa, assim como muitas outras pessoas. Esperamos que django.contrib.search seja adicionado em breve.
Entretanto, isto é o que descobri:
Para mim, a maioria parece bastante complicada e, francamente, um pouco difícil de implementar. Eu estaria interessado em saber o que você pensa sobre isso.
fonte
A página de código do google para djangosearch indica que ele não está mais em desenvolvimento ativo e sugere palheiro ou solango .
fonte
Eu recomendaria o Sphinx para pesquisa e agregação de texto completo, e o django-sphinx é bom o suficiente para uso em produção. Descobrimos que o Sphinx era a maneira menos intensiva de recursos e mais rápida de indexar e pesquisar nossos documentos e que o django-sphinx era um ótimo wrapper no cliente sphinx.
O grupo por agregação é particularmente interessante se, por exemplo, você deseja exibir quantos documentos com uma determinada marca ou por um determinado autor (ou ambos) corresponderam a uma pesquisa. As atualizações de atributos na memória também eram convenientes, especialmente para remover artigos excluídos imediatamente.
fonte
Obrigado Garth. Eu tinha visto que o djangosearch queria se tornar a busca oficial do Django, mas estava hesitante em usá-lo porque não consegui encontrar nenhuma documentação! Felizmente, há um README no subversion que eu não tinha visto antes e faz com que a API pareça muito legal:
fonte
Eu só precisava de uma solução muito rápida e sem complicações para um aplicativo interno.
Achei o artigo Adicionando pesquisa ao Django em um piscar de olhos , e funcionou esplêndido para mim!
Obviamente, ele não tem a velocidade, escalabilidade e recursos dos projetos reais como o Haystack, mas este é mais fácil de configurar e eu realmente não preciso de nada mais do que a palavra-chave AND-search.
fonte
Você pode querer deixar o Yahoo fazer todo o trabalho árduo com seu Build your own Search Service (BOSS). Aqui está uma ótima postagem de blog que o orienta durante o processo: http://www.peterkrantz.com/2008/yahoo-search-in-django/
fonte
Parece que todos aqui sentiram saudades django-xappy
Após uma rápida avaliação de todos os complementos de pesquisa existentes para Django, achei este o mais flexível e fácil de usar. É difícil em alguns lugares, mas ainda é a melhor maneira de usar o poder do mecanismo de busca Xapian dentro de projetos Django.
fonte
Você pode querer dar uma olhada no Django Solr search (também conhecido como "Solango") que vem com uma boa documentação para você começar ...
fonte
Se você tem uma grande quantidade de dados a serem indexados ou espera alto tráfego, sugiro usar algum mecanismo de busca externo, como o Solr . Dessa forma, você manterá a abordagem de nada compartilhado e poderá dimensionar os componentes do seu site de forma independente.
fonte
Acho que vou ter que dar um grito para Djapian.
É sólido como uma rocha ... basta puxar para baixo uma distribuição de origem e dar uma olhada dentro. Código de primeira linha, não muitos comentários, embora ..
Ainda é um projeto de software jovem, mas acho que a comunidade django deveria dar seu peso a este.
fonte
Obrigado Joe,
Decidimos usar o Tsearch2 e um adaptador postgres personalizado. Tsearch2 não precisa de um processo extra para rodar, o que foi conveniente já que estamos em uma hospedagem WebFaction com memória limitada ... Ainda não está completamente pronto, mas parece ser uma boa solução ...
fonte
Eu descobri o Djoosh, que depende do motor de busca externo puro-python Whoosh para funcionar bem com meu cérebro 'Python'.
fonte
Se você estiver disposto a usar um mecanismo de pesquisa de terceiros, posso recomendar o Yahoo BOSS e o django-bosssearch .
O Yahoo BOSS é um serviço pago, mas economiza a configuração e manutenção de outro software de pesquisa em seu servidor.
fonte