2011-11-11 12 views
6

estoy usando Django-pajar para buscar en mi sitio. Mi problema es que me gustaría tener los resultados de búsqueda en la parte superior si el término de búsqueda se encuentra en un campo específico. Digamos que busco blog-entradas, a continuación, me gustaría mostrar los resultados en la parte superior donde se encontró el término de búsqueda en el campo de título.Django pajar: Impulsar los resultados de búsqueda si el término de búsqueda aparece en un campo específico

que lea la documentación sobre pajar campo de estimulación pero no entienden cómo debería funcionar.

Respuesta

4

Puede:

Modifíquese el archivo de índice de búsqueda, por ejemplo,

class BlogEntryIndex(SearchIndex): 
    text = CharField(document=True, use_template=True) 
    title = CharField(model_attr='title', boost=1.125) 

NOTA: Como se ha señalado en los comentarios el siguiente sólo impulsaría no el título término el campo, utilice el anterior.

o puede pasar el impulso a su SearchQuerySet por ejemplo en el archivo de direcciones URL pajar.

sqs = SearchQuerySet().boost('title', 1.125) 

urlpatterns = patterns('haystack.views', 
    url(r'^$', SearchView(searchqueryset=sqs), name='haystack_search'), 
) 
+0

Hola de nuevo, gracias por la respuesta rápida! Conozco estas dos variantes de la documentación y la primera variante parece interesante, pero ¿tengo que hacer algo más para que funcione? Ya lo probé pero parece no cambiar nada en absoluto ... La segunda variante no me sirve de mucho porque solo aumenta un término de búsqueda, no un campo, al menos así es como lo entiendo. – scherlock

+0

¿Qué back-end de búsqueda estás usando? – JamesO

+0

me trataron zas y Solr – scherlock

Cuestiones relacionadas