2024-06-25 08:15:55 发布
网友
我正在创建一个食物搜索。我只想简单地在搜索框中输入一种食物,然后让它返回结果。我还希望能够为某些术语添加优先级,以便它们出现。例如,搜索“橘子”会首先找到水果,而不是果汁。在
我还没能在django中为这个场景确定更好的搜索解决方案。在
让我知道哪种解决方案更好。在
我是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索引中的索引速度非常快,但它要求您在更新数据库时重新索引所有内容。这个特殊的设置对我来说非常方便,因为我使用它来索引一个每天只更改一次的数据库。在
plain
我是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
索引中的索引速度非常快,但它要求您在更新数据库时重新索引所有内容。这个特殊的设置对我来说非常方便,因为我使用它来索引一个每天只更改一次的数据库。在相关问题 更多 >
编程相关推荐