Articles of django haystack

Haystack Multiple Indices – indexados incluso si hay diferentes search_indexes

Tengo la siguiente busqueda class ProductIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) destination = indexes.FacetIntegerField( model_attr=’hotel__destination__id’) country = indexes.FacetIntegerField(model_attr=’hotel__country__id’) hotel_class = indexes.FacetCharField(model_attr=’hotel__hotel_class’) hotel_type = indexes.FacetIntegerField(model_attr=’hotel__hotel_type__id’) def get_model(self): return Product def index_queryset(self, using=True): return self.get_model().objects.all() class DestinationIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) content_auto = indexes.EdgeNgramField(model_attr=”foo”) Y siguiendo las configuraciones en settings.py HAYSTACK_CONNECTIONS = { ‘default’: { ‘ENGINE’: […]

Proceso de indexación de Django Haystack / ElasticSearch abortado

Estoy ejecutando una configuración con django 1.4, Haystack 2 beta y ElasticSearch .20. Mi base de datos es postgresql 9.1, que tiene varios millones de registros. Cuando trato de indexar todos mis datos con haystack / elasticsearch, el proceso se agota y aparece un mensaje que dice “Matado”. Hasta ahora he notado lo siguiente: Obtengo […]

Django-Haystack dando error de atributo?

Estoy tratando de usar Haystack y Whoosh con mi aplicación Django. Seguí los pasos de los documentos de Haystack, pero recibo este error cuando hago una búsqueda. AttributeError at /search/ ‘module’ object has no attribute ‘get_model’ search_indexes.py – import datetime from haystack import indexes from movies.models import Movie class MovieIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) […]

Nombre del campo principal (documento = Verdadero)

Django Haystack docs dice : **Warning** When you choose a document=True field, it should be consistently named across all of your SearchIndex classes to avoid confusing the backend. The convention is to name this field text. There is nothing special about the text field name used in all of the examples. It could be anything; […]

Django Haystack: ¿Mostrar resultados sin necesidad de una consulta de búsqueda?

Me gustaría mostrar todos los resultados que coincidan con las facetas seleccionadas aunque no se haya insertado una consulta de búsqueda. Similar a cómo funcionan algunas aplicaciones de tienda, por ejemplo, Amazon eg Show all products which are “blue” and between $10-$100. Haystack no devuelve ningún valor si no se especifica una consulta de búsqueda. […]

Contar el total de objetos de búsqueda en la plantilla usando django-haystack

Estoy usando django haystack con xapian como motor de búsqueda backend. Estoy usando FacetedSearchView y FacetedSearchForm para realizar facetas sobre la búsqueda. He pasado searchqueryset a FacetSearchView en mi archivo urls.py Pero el problema es que no puedo acceder a ese conjunto de searchqueryset en la plantilla. Todo lo que quiero hacer es contar el […]

El pajar de Django EdgeNgramField obtuvo resultados diferentes a los de elasticsearch

Actualmente estoy ejecutando un pajar con un backend de elasticsearch, y ahora estoy construyendo un autocompletado para los nombres de las ciudades. El problema es que SearchQuerySet me está dando resultados diferentes, que desde mi perspectiva son incorrectos, que la misma consulta ejecutada directamente en elasticsearch, que son para mí los resultados esperados. Estoy usando: […]

Actualización de un índice de búsqueda de Haystack con Django + Celery

En mi proyecto Django estoy usando apio. Cambié un comando de crontab para que fuera una tarea periódica y funciona bien, pero solo está llamando a un método en un modelo. ¿Es posible actualizar mi índice Haystack también desde una tarea periódica? ¿Alguien ha hecho esto? /manage.py update_index Ese es el comando para actualizar el […]

¿Qué atributo de SearchQuerySet tiene la misma función que prefetch_related?

def get_books_by_query_params(context, query, query_parameters): binding_query = query_parameters[‘binding_query’] query_parameters[‘validate’]=1 default_query = None if query: default_queries = [ Q(title__icontains=query), Q(isbn_10__contains=query), Q(isbn_13__contains=query), Q(publishers=Publisher.objects.filter(name=query)), Q(institutes=Institute.objects.filter(name=query)), Q(authors=Author.objects.filter(name=query)), Q(sellers=Seller.objects.filter(name=query)) ] default_query = reduce(operator.or_, default_queries) default_query = default_query & binding_query if binding_query is not None else default_query elif binding_query is not None: default_query = binding_query if default_query is not None and query_parameters[‘query_parameters’] […]

Django Haystack Valor Distinto para Campo

Estoy construyendo un pequeño motor de búsqueda utilizando Django Haystack + Elasticsearch + Django REST Framework, y estoy tratando de averiguar cómo reproducir el comportamiento del método distinct de un Django QuerySet . Mi índice se ve algo como esto: class ItemIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) item_id = indexes.IntegerField(faceted=True) def prepare_item_id(self, obj): return obj.item_id […]