什么是Django的干草堆?

时间:2011-10-28 15:29:25

标签: django django-haystack whoosh xapian

我一直在读关于Haystack,飞快移动,Xapian等等。但是我并没有真正得到它们的用途以及它们之间的关系。 例如,据说

  

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

有些人可以向我解释一下这些用于提供一个很好的链接,并且足够简单,以便了解一个初学者。 THX

1 个答案:

答案 0 :(得分:7)

Haystack是与Whoosh / Xapian等不同的野兽:

  

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

来自the FAQ(强调补充):

  

什么是Haystack?

     

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

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