Что такое Хейстек для Джанго? - PullRequest
3 голосов
/ 28 октября 2011

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

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

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

1 Ответ

7 голосов
/ 28 октября 2011

Стог сена - это зверь, отличающийся от Whoosh / Xapian / и т. Д.:

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

Из FAQ (выделение добавлено):

Что такое Haystack?

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

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

...