Обновление не работает для меня, но rebuild_index сделал. Остерегайтесь, если ваш индекс большой!

ужен был простой инструмент поиска для моего сайта на django, поэтому я выбрал Haystack и Solr. Я все правильно настроил и могу найти правильные результаты поиска, когда набираюточный фразы, но я не могу получить никаких результатов при вводе частичной фразы.

Например: «Джон» возвращает «Джон Доу», но «Джо» ничего не возвращает.

Модель:

class Person(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)

Индекс поиска:

class PersonIndex(SearchIndex):
    text = CharField(document=True, use_template=True)
    first_name = CharField(model_attr = 'first_name')
    last_name = CharField(model_attr = 'last_name')

site.register(Person, PersonIndex)

Я предполагаю, что есть некоторые настройки, которые мне не хватает, что позволяет частичное сопоставление полей. Я видел людей, говорящих оEdgeNGramFilterFactory() на некоторых форумах, и я гуглил это, но я не совсем уверен в его реализации. Кроме того, я надеялся, что найдется способ, специфичный для стога сена, на случай, если я когда-нибудь выключу бэкэнд поиска.

Ответы на вопрос(5)

Ваш ответ на вопрос