Domanda

Sto costruendo un Django progetto che ha bisogno di funzionalità di ricerca, e fino a quando c'è un django.contrib.search, Devo scegliere un applicazione di ricerca.Quindi, quale è il migliore?Per "migliore" intendo...

  • facile da installare / configurare
  • ha un Django - o almeno Python-friendly API
  • può eseguire ragionevolmente ricerche complesse

Qui ci sono alcune app ho sentito parlare, si prega di suggerire altri se siete a conoscenza di:

Vorrei anche evitare di utilizzare una terza parte del motore di ricerca (come Google SiteSearch), perché alcuni dei dati che mi piacerebbe indice è per i membri del sito e non dovrebbe essere pubblico.

È stato utile?

Soluzione

Check out Pagliaio Di Ricerca - un nuovo modello di ricerca su livello di astrazione che attualmente supporta Xapian, Solr e Whoosh.Sembra ben sostenuta e documentata.

Altri suggerimenti

Justin, mi piacerebbe provare djangosearch primo:Jacob Kaplan-Moss (Django lead developer) sta lavorando su di esso.

Potenziali pericoli:

  • Home page avverte l'API potrebbe non essere del tutto stabile

Potenziali benefici:

  • “L'obiettivo a lungo termine è per questo diventare django.contrib.search.”

Sto cercando la stessa cosa, così come un sacco di altre persone.Speriamo che django.contrib.ricerca saranno aggiunti a breve.

Nel frattempo, questo è quello che ho trovato:

Per me, la maggior parte sembrano abbastanza complicato e, francamente, un po ' scoraggiante per implementare.Sarei interessato a imparare che cosa pensate di questi.

Mi raccomando Sfinge per la ricerca full-text e di aggregazione, e django-la sfinge è abbastanza buono per l'uso in produzione.Abbiamo trovato che la Sfinge era il meno risorse e più veloce modo per indicizzare e ricercare i documenti, che django-la sfinge era un bel wrapper sulla cima della sfinge client.

Il gruppo di aggregazione è particolarmente bello, per esempio, se si desidera visualizzare il numero di documenti con un determinato tag, oppure da un determinato autore (o entrambi) abbinati a una ricerca.In memoria attributo aggiornamenti sono stati troppo comodo, soprattutto per la rimozione di articoli eliminati immediatamente.

La pagina di codice di google per djangosearch indica che non è più in fase di sviluppo attivo, e suggerisce pagliaio o solango.

Grazie Garth.Avevo visto che djangosearch voleva diventare ufficiale di Django di ricerca, ma ero titubante ad usarlo perché non riuscivo a trovare alcuna documentazione!Per fortuna, c'è un LEGGIMI in subversion che non avevo mai visto prima, e rende l'API look molto cool:

# 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")

Ho solo bisogno di una molto veloce soluzione che è stata senza fronzoli per un interno app.

Ho trovato l'articolo Aggiunta ricerca per Django in un batter d'occhio, e che ha lavorato splendida per me!

Ovviamente non manca la velocità, scalabilità e le caratteristiche dei progetti concreti Pagliaio, ma questo è più facile da impostare, e non ho davvero bisogno di niente altro che di parole chiave E di ricerca.

Si potrebbe desiderare di prendere in considerazione lasciando Finanza di fare tutto il duro lavoro con loro Costruire il proprio Servizio di Ricerca (BOSS).Qui è un grande post di blog che ti guida attraverso il processo:http://www.peterkrantz.com/2008/yahoo-search-in-django/

Sembra che tutti qui perdere django-xappy

Dopo una rapida valutazione di tutte le ricerca di addons per Django, ho trovato questo come più flessibile e più facile da usare.È ruvida sui bordi in pochi posti, ma è ancora il modo migliore per usare il potere di Xapian motore di ricerca all'interno di progetti Django.

Si potrebbe desiderare di guardare Django Solr search (aka "Solango"), che viene fornito con alcune belle documentazione per iniziare...

Se si dispone di grandi quantità di dati per essere indicizzati o si prevede un traffico elevato, suggerirei qualche motore di ricerca esterno, come Solr.In questo modo, potrete mantenere la shared-nothing approccio e di essere in grado di scalare le componenti del sito in modo indipendente.

Penso che sto andando ad avere per dare un grido fuori per Djapian.

Esso è solido come una roccia...basta tirare giù una fonte di distribuzione e sbirciare dentro.Top notch codice, non molto numerosi commenti tho..

E ' ancora un giovane progetto di software, ma penso che il django comunità dovrebbe gettare il suo peso dietro questo.

Grazie Joe,

Abbiamo deciso di andare con Tsearch2 e personalizzato postgres adattatore.Tsearch2 non ha bisogno di un extra di processo per l'esecuzione, che è stato comodo visto che siamo in un WebFaction hosting con memoria limitata...Non è completamente fatto di sicurezza, ma sembra essere una buona soluzione...

Ho trovato Djoosh che si basa sul puro python motore di ricerca esterno Whoosh per lavorare bene con la mia 'Python' di cervello.

Se si è disposti a utilizzare un 3rd party motore di ricerca posso consigliare Yahoo BOSS e django-bosssearch.

Yahoo BOSS è un servizio a pagamento, ma ti salva l'impostazione e la gestione di altri software di ricerca sul vostro server.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top