Вопрос

Я новичок, чтобы сена и в мир поиска, поэтому я не знал, как задавать этот вопрос.

То, что я хочу достичь, это следующее.

Наличие поискового запроса, как: один два

Я хотел бы вернуть любой контент, как:

  • Этот
  • один
  • два
  • два один
  • что-то здесь

Это возможно с помощью HayStack + Solr / Xapian? Также возможно иметь релевантность на результате? В случае, когда оба слова попадают, это даст мне больше актуальности.

В настоящее время я использую SearchQuerySet на мой взгляд, но не могу этого достичь.

Ваше здоровье

Это было полезно?

Решение

Так что вы в основном ищете OR Введите запрос вправо? По умолчанию HayStack использует AND Операция для соединения запросов.

Вы можете сделать это два способа:

  • Изменять HAYSTACK_DEFAULT_OPERATOR в пределах ваших настроек .py OR. Отказ Это, очевидно, будет широкое изменение.
  • Изменить ваше SearchQuerySet Форма для использования filter_or. который будет заставить OR Стиль поиска. Так что пройдите новый в свою форму / представление: SearchQuerySet.filter_or(**kwargs)

Кроме того, вы всегда можете присоединиться к Джангу Q Объекты вместе, но учитывая, что у вас есть эти варианты, это, вероятно, ваши лучшие ставки.

Для релевантности вы должны прочитать Лучшие практики Страница, которая находится в использовании шаблонов поиска и заставляет их быть вашим способом показать соответствующий контент.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top