Sto cercando di mettere la testa sullo django-haystack tutorial per aggiungere funzionalità di ricerca alla mia applicazione. Sfortunatamente, non capisco bene alcune parti chiave quando si tratta di costruire l'indice di ricerca.Quali campi del modello nel tutorial di django-haystack vengono indicizzati?
Nel tutorial, il seguente modello Django serve come un esempio:
class Note(models.Model):
user = models.ForeignKey(User)
pub_date = models.DateTimeField()
title = models.CharField(max_length=200)
body = models.TextField()
La rispettiva classe di indice per il modello Note
è questo:
class NoteIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
author = indexes.CharField(model_attr='user')
pub_date = indexes.DateTimeField(model_attr='pub_date')
def get_model(self):
return Note
Ultimo ma non meno importante, io sono ha chiesto di creare un modello di dati simile al seguente:
{{ object.title }}
{{ object.user.get_full_name }}
{{ object.body }}
Dopo readi Nell'intero tutorial, sono ancora confuso su cosa si sta indicizzando ora. Per quanto ho capito, il contenuto dei campi author
e pub_date
verrà utilizzato per creare l'indice. Il campo text
è semplicemente per fornire alcune impostazioni. E il modello di dati specifica come i risultati della ricerca verranno visualizzati in seguito, cioè quali campi del modello utilizzare per essere visualizzati nei risultati della ricerca.
È corretto o ho completamente torto? Il tutorial e la documentazione sono piuttosto vaghi in molti aspetti secondo me. Grazie mille in anticipo.
uomo, è digitato esattamente la domanda esatta sono venuto qui a digitare, 2 anni dopo! – GreenAsJade
Uomo, hai digitato esattamente la domanda esatta che sono venuto qui per scrivere, 4 anni dopo! @GreenAsJade Man, hai digitato esattamente il commento che sono venuto qui per scrivere, 2 anni dopo! Ma ho ancora qualcosa da aggiungere. La documentazione è in realtà spazzatura totale. –