Django haystack还是sphinx简单搜索?

2024-06-25 08:15:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个食物搜索。我只想简单地在搜索框中输入一种食物,然后让它返回结果。我还希望能够为某些术语添加优先级,以便它们出现。例如,搜索“橘子”会首先找到水果,而不是果汁。在

我还没能在django中为这个场景确定更好的搜索解决方案。在

让我知道哪种解决方案更好。在


Tags: django场景解决方案食物术语果汁水果橘子
1条回答
网友
1楼 · 发布于 2024-06-25 08:15:55

我是Django-SphinxQL(Django中Sphinx的实现)的当前维护者,以及用于Haystack的Xapian backend的维护者。在

我建议使用干草堆:

  • Haystack允许您在不同的后端之间进行选择,支持搜索的大多数标准功能(例如highlight),并且已经在Django的搜索引擎上经受住了时间的考验。

  • Django-SphinxQL是pre-alpha(其他实现,如Django-Sphinx已经暂停),只支持一组最小的功能。

我认为选择Sphinx search损害Haystack的唯一原因(例如,使用Django SphinxQL)是因为您有一个特定的用例,其中Sphinx明显优于任何Haystack后端。在

例如,Sphinx在plain索引中的索引速度非常快,但它要求您在更新数据库时重新索引所有内容。这个特殊的设置对我来说非常方便,因为我使用它来索引一个每天只更改一次的数据库。在

相关问题 更多 >