Qual é a melhor pesquisa app Django?

votos
106

Eu estou construindo um projeto Django que precisa de funcionalidade de pesquisa, e até há um django.contrib.search, eu tenho que escolher um aplicativo de pesquisa. Então, qual é o melhor? Por melhor Quero dizer ...

  • fácil de instalar / configurar
  • tem uma Django- ou pelo menos API Python-friendly
  • pode realizar pesquisas razoavelmente complexas

Aqui estão alguns aplicativos que eu ouvi, por favor sugerir outros, se você souber de qualquer:

Eu também gostaria de evitar o uso de um motor de busca de terceiros (como o Google SiteSearch), porque alguns dos dados que eu gostaria de índice é apenas para membros do site e não deve ser público.

Publicado 10/09/2008 em 20:09
fonte usuário
Em outras línguas...                            


15 respostas

votos
100

Confira Haystack Pesquisa - uma nova camada de pesquisa abstração baseada modelo que atualmente suporta Xapian , Solr e Whoosh . Parece que está bem apoiado e documentado.

Respondeu 08/05/2009 em 17:10
fonte usuário

votos
19

Justin, eu tentaria djangosearch primeiro: Jacob Kaplan-Moss (principal desenvolvedor do Django) está trabalhando nisso.

Perigos potenciais:

  • A home page avisa o API pode não ser totalmente estável

Benefícios potenciais:

  • “O objetivo a longo prazo é para que isso se torne django.contrib.search”.
Respondeu 11/09/2008 em 08:03
fonte usuário

votos
18

Estou procurando a mesma coisa, como um monte de outras pessoas. Vamos esperar que django.contrib.search serão adicionados em breve.

Entretanto, isso é o que eu encontrei:

Para mim, mais parecem bastante complicado e, francamente, um pouco assustadora para implementar. Eu estaria interessado em saber o que você pensa deles.

Respondeu 16/10/2008 em 21:43
fonte usuário

votos
8

A página de código do Google para djangosearch indica que ele não está mais sob desenvolvimento ativo, e sugere palheiro ou solango .

Respondeu 09/05/2009 em 22:38
fonte usuário

votos
8

Eu recomendo Sphinx por pesquisa de texto completo e agregação, e django-esfinge é bom o suficiente para uso em produção. Descobrimos que Esfinge era a maneira menos intensiva de recursos e mais rápido para indexar e pesquisar os nossos documentos e que django-esfinge era um bom invólucro em cima do cliente esfinge.

O grupo de agregação é particularmente agradável, se por exemplo você deseja exibir quantos documentos com uma determinada tag ou por um determinado autor (ou ambos) correspondeu a uma pesquisa. Em memória atribuir atualizações foram conveniente também, especialmente para a remoção de artigos removidos imediatamente.

Respondeu 23/10/2008 em 21:07
fonte usuário

votos
6

Graças Garth. Eu já tinha visto que djangosearch queria se tornar a busca oficial do Django, mas eu estava hesitante para usá-lo porque eu não poderia encontrar qualquer documentação! Felizmente, há uma README na subversão que eu não tinha visto antes, e faz o olhar API muito legal:

# set up the model
class Event(models.Model):
    title = models.CharField(max_length=255)
    date = models.DateField()
    is_outdoors = models.BooleanField()

    index = djangosearch.ModelIndex(text=['title'], 
                                    additional=['date', 'is_outdoors'])

# run a search
results = Event.index.search("django conference")
Respondeu 11/09/2008 em 16:28
fonte usuário

votos
5

Eu só precisava de uma muito rápida solução que foi sem complicações para uma aplicação interna.

Eu encontrei o artigo Adicionando pesquisa para Django em um piscar de olhos , e que trabalhou esplêndida para mim!

Obviamente, ela não tem a velocidade, escalabilidade e características dos projectos reais, como Haystack, mas este é mais fácil de configurar, e eu realmente não precisa de nada mais do que palavras-chave e pesquisa.

Respondeu 23/04/2011 em 00:33
fonte usuário

votos
3

Você pode querer considerar deixar Yahoo fazer todo o trabalho duro com sua construir o seu próprio Search Service (BOSS). Aqui é um ótimo blog que orienta o processo: http://www.peterkrantz.com/2008/yahoo-search-in-django/

Respondeu 26/04/2009 em 06:38
fonte usuário

votos
2

Você pode querer olhar para pesquisa Django Solr (aka "Solango") que vem com algumas agradáveis documentação para você começar ...

Respondeu 15/04/2009 em 06:40
fonte usuário

votos
2

Parece que todos aqui perdeu django-xappy

Após a avaliação rápida de todos os complementos de pesquisa existentes para Django, eu encontrei este como mais flexível e mais fácil de usar. É áspero nas bordas em alguns lugares, mas ainda é a melhor maneira de usar o poder de Xapian motor de pesquisa dentro projetos Django.

Respondeu 27/01/2009 em 17:31
fonte usuário

votos
1

Eu acho que eu vou ter que dar um grito para Djapian.

É rock-solid ... apenas puxar para baixo uma distribuição fonte e espreitar para dentro. código de topo, não muito muitos comentários tho ..

Ainda é um projeto de software jovem, mas eu acho que a comunidade Django deve jogá-lo do peso por trás deste.

Respondeu 31/05/2009 em 23:59
fonte usuário

votos
1

Se você tem grande quantidade de dados a serem indexados ou você espera que o tráfego elevado, eu sugiro usar algum mecanismo de pesquisa externo, como Solr . Desta forma, você vai manter compartilhado nada abordagem e ser capaz de dimensionar suas componentes do site de forma independente.

Respondeu 17/09/2008 em 20:48
fonte usuário

votos
0

Se você estiver disposto a usar uma 3ª mecanismos de pesquisa posso recomendar Yahoo BOSS e django-bosssearch .

Yahoo BOSS é um serviço pago, mas poupa criação e manutenção de outro software de busca em seu servidor.

Respondeu 13/05/2012 em 16:22
fonte usuário

votos
0

Eu encontrei Djoosh que conta com o motor de busca externa puro-python Whoosh de trabalhar bem com meu cérebro 'Python'.

Respondeu 14/04/2009 em 16:56
fonte usuário

votos
0

Graças Joe,

Decidimos ir com tsearch2 e um adaptador postgres personalizados. não tsearch2 não precisa de um processo extra para correr, que era conveniente, já que estamos em um Webfaction hospedagem com memória limitada ... não é completamente feito ainda, mas parece ser uma boa solução ...

Respondeu 24/10/2008 em 08:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more