Я работаю над приложением, основанным на django 1.8 и поисковой системе django-haystack 2.4.1. Странная ситуация, потому что, когда я ищу слова "New York"
- все в порядке. Если есть странное имя в имени события, например. "Zo-zo on"
(с тире) поиск не отображает правильные результаты, только страницы отдельных экземпляров букв, например: "zo ..."
Имена с тире не работают в django-haystack
Я сделал rebuild_index
.
class EventIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(document=True, use_template=True)
id = indexes.CharField(model_attr='id')
get_absolute_url = indexes.CharField(model_attr='get_absolute_url')
description = indexes.CharField(model_attr='description', null=True)
is_past = indexes.CharField(model_attr='is_past', default='false')
date_start = indexes.DateTimeField(model_attr='date_start')
def get_model(self):
return Booking
def index_queryset(self, using=None):
date_past = now() - timedelta(days=1)
return self.get_model().published.filter(date_start__gt=date_past).filter(id=7353)
def read_queryset(self, using=None):
return self.get_model().all_objects.all()
Можете ли вы поделиться своей схемой SearchIndex, соответствующей тому же. –
@BipulJain Вы имеете в виду код? – mark
да. У вас должен быть определенный searchIndex search_indexes.py –