что такое Haystack для Django?

#django #django-haystack #whoosh #xapian

#django #django-haystack #свист #xapian

Вопрос:

Я читал о Haystack, Whoosh, Xapian и т. Д. Однако я действительно не понял, для чего они точно используются и какова связь между ними. Например, говорится, что

Включите поиск в сторонних приложениях, не касаясь кода этого приложения.

Может ли кто-нибудь объяснить мне, для чего они используются, может быть, дать хорошую ссылку и достаточно простую для понимания для начинающих. спасибо

Комментарии:

1. Solr / Whoosh / Xapian предоставляют возможности поиска (полнотекстовый поиск, индексация текста) для приложения, а Haystack — это пакет, который позволяет вам создавать поиск для приложения django, не заботясь о том, какой из этих движков в конечном итоге будет использован.

Ответ №1:

Haystack — это зверь, отличный от Whoosh / Xapian / etc.:

Haystack обеспечивает модульный поиск для Django. Он имеет унифицированный, знакомый API, который позволяет подключать различные серверные части поиска (такие как Solr, Whoosh, Xapian и т.д.) Без необходимости изменять ваш код.

Из часто задаваемых вопросов (курсив добавлен):

Что такое Haystack?

Haystack предназначен для переносимого интерфейса к поисковой системе по вашему выбору. Некоторые могут назвать это фреймворком поиска, уровнем абстракции или чем-то еще. Идея заключается в том, что вы пишете свой код поиска один раз и должны иметь возможность свободно переключаться между серверными по мере необходимости в вашей ситуации.

Упомянутые «поисковые серверные части» — это поисковые библиотеки, которые имеют свой собственный API. Haystack предоставляет унифицированный API поверх (и независимый) любой конкретной библиотеки поиска.