在简单的上下文中解释搜索(Sphinx / Haystack)?

时间:2013-01-04 22:39:39

标签: python django search nosql full-text-search

你能解释像Sphinx,Haystack等搜索引擎如何适应Web框架。如果您能够以某种方式解释,那些刚接触Web开发的人可以理解这会有所帮助。

我为此问题编写的一个示例用例是图书搜索功能。假设我有一个包含书籍对象的noSQL数据库,每个书籍对象包含作者,标题,ISBN等; Sphinx / Haystack /其他搜索引擎如何与我的数据库一起搜索具有给定ISBN的书籍?

1 个答案:

答案 0 :(得分:1)

首先,Haystack不是搜索引擎,它是一个为现有搜索引擎提供Django API的库,如Solr和Whoosh。

那就是说,你的榜样并不是一个非常好的例子。您不会使用单独的搜索引擎来按ISBN搜索,因为您的数据库已经在Book表上有一个索引,可以有效地进行搜索。搜索引擎进来的地方可能在两个地方。首先,您可以索引部分或全部图书的内容进行搜索:数据库不是很擅长全文搜索,但这是一个搜索引擎闪耀的领域。其次,您可以一次性针对多个字段(例如作者,标题,出版商和描述)进行搜索。

此外,搜索引擎提供了有用的功能,例如您无法从数据库获取的建议,分面等。