Django 的 Haystack 是什么?

发布于 2024-12-12 14:49:34 字数 200 浏览 0 评论 0原文

我一直在阅读有关 Haystack、Whoosh、Xapian 等的内容。但我并没有真正了解它们的确切用途以及它们之间的关系是什么。 例如,据说

启用对第三方应用的搜索,而无需触及该应用的代码。

有人可以向我解释一下这些的用途吗?也许可以提供一个很好的链接,并且足够简单,足以让初学者理解。 谢谢

I have been reading about Haystack,Whoosh,Xapian,etc. however I didn't really get what they are exactly used for and what is the relationship between them.
For example, it is said that

Enable searching on third-party apps without touching that app’s code.

Can some explain to me what these are used for maybe giving a nice link and simple enough to understand for a begginer.
thx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兲鉂ぱ嘚淚 2024-12-19 14:49:35

Haystack 与 Whoosh/Xapian/etc 不同:

Haystack 为 Django 提供模块化搜索。它具有统一、熟悉的 API,允许您插入不同的搜索后端(例如 Solr、Whoosh、Xapian 等),而无需修改代码。

来自常见问题解答(添加了重点):

什么是 Haystack?

Haystack 旨在成为您选择的搜索引擎的便携式界面。有些人可能将其称为搜索框架、抽象层或其他什么。这个想法是,您编写一次搜索代码,并且应该能够根据情况需要在后端之间自由切换

提到的“搜索后端”是有自己的 API 的搜索库。 Haystack 在任何一个特定搜索库之上(且独立)提供统一的 API。

Haystack is a different beast from Whoosh/Xapian/etc.:

Haystack provides modular search for Django. It features a unified, familiar API that allows you to plug in different search backends (such as Solr, Whoosh, Xapian, etc.) without having to modify your code.

From the FAQ (emphasis added):

What is Haystack?

Haystack is meant to be a portable interface to a search engine of your choice. Some might call it a search framework, an abstraction layer or what have you. The idea is that you write your search code once and should be able to freely switch between backends as your situation necessitates.

The "search backends" mentioned are search libraries which have their own API. Haystack provides a unified API on top (and independent) of any one specific search library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文