【问题标题】:django haystack or sphinx for simple search?django haystack 或 sphinx 进行简单搜索?
【发布时间】:2014-10-02 08:04:25
【问题描述】:

我正在创建食物搜索。我只想能够在搜索框中输入食物并让它返回结果。我还希望能够为某些术语添加优先级,以便它们出现。例如,搜索“橙子”会首先显示水果而不是果汁。

我无法在 django 中为这种场景确定更好的搜索解决方案。

让我知道哪种方案更适合这种情况。

【问题讨论】:

  • 我会为这个 Elasticsearch 服务器运行并将它与 django-haystack 一起使用,它实际上是搜索引擎的包装器。
  • @NikolayBaluk 你推荐这个解决方案是因为我的简单场景吗?

标签: python django search sphinx django-haystack


【解决方案1】:

我是 Django-SphinxQL 的当前维护者,这是 Django 中 Sphinx 的一个实现,以及 Haystack 的 Xapian backend 的维护者。

我推荐使用 Haystack:

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

  • Django-SphinxQL 处于 pre-alpha 阶段(其他实现如 Django-Sphinx 已停止),仅支持最少的功能集。

我认为选择 Sphinx 搜索而不利于 Haystack(例如使用 Django-SphinxQL)的唯一原因是,如果您特别有一个用例,其中 Sphinx 明显优于任何 Haystack 后端。

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

【讨论】:

  • 谢谢,我很欣赏这样的专家意见。我要去干草堆了。
  • 我相信 Sphinx 现在支持实时索引了。
猜你喜欢
  • 2012-12-19
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 2013-08-12
  • 2012-05-15
  • 1970-01-01
相关资源
最近更新 更多