最好的姜戈搜索应用是什么?

我正在构建一个需要搜索功能的 Django 项目,在 django.contrib.search出现之前,我必须选择一个搜索应用程序。那么,哪个是最好的?我说的“最好”是指..。

  • easy to install / set up
  • 有一个 Django-或者至少是 Python 友好的 API
  • 可以执行相当复杂的搜索

这里有一些我听说过的应用程序,如果你知道的话,请推荐其他的:

我还希望避免使用第三方搜索引擎(如 Google SiteSearch) ,因为我希望索引的一些数据仅供网站成员使用,不应该公开。

51554 次浏览

贾斯汀,我会先尝试 姜戈搜索: 雅各布卡普兰-莫斯(Django 的首席开发人员)正在努力。

潜在危险:

  • The home page warns the API might not be entirely stable

潜在好处:

  • “我们的长期目标是让这个项目成为 django.contrib.search。”

谢谢 Garth。我已经看到 Django 搜索想要成为正式的 Django 搜索,但是我犹豫要不要使用它,因为我找不到任何文档!幸运的是,这里有一个我从未见过的 颠覆中的自述文件,它让 API 看起来非常酷:

# set up the model
class Event(models.Model):
title = models.CharField(max_length=255)
date = models.DateField()
is_outdoors = models.BooleanField()


index = djangosearch.ModelIndex(text=['title'],
additional=['date', 'is_outdoors'])


# run a search
results = Event.index.search("django conference")

如果你有大量的数据需要索引,或者你期望高流量,我建议你使用一些外部的搜索引擎,比如 太阳。这样,您将保持 什么都不分享方法,并能够独立地扩展站点组件。

我和其他很多人一样,也在寻找同样的东西。让我们希望 Django 贡献搜索将很快被添加。

In the meantime, this is what I found:

在我看来,大多数看起来相当复杂,坦率地说,实现起来有点令人生畏。 我很想知道你对这些东西的看法。

我推荐 Sphinx 用于全文搜索和聚合,django-spinx 对于生产应用来说已经足够好了。我们发现,Sphinx 是索引和搜索文档的资源密集程度最低、速度最快的方法,而 django-spinx 是在 Sphinx 客户机上的一个很好的包装器。

聚合分组特别好,例如,如果您想显示具有某个标记或由某个作者(或两者)匹配搜索的文档数量。在内存属性更新也很方便,特别是删除被删除的文章立即。

谢谢你,乔,

我们决定使用 Tsearch2和一个自定义 postgres 适配器。Tsearch2不需要额外的进程来运行,这很方便,因为我们是在一个内存有限的 WebFaction 主机上... ... 它还没有完全完成,但似乎是一个很好的解决方案... ..。

看起来这里的每个人都错过了 姜戈 Xappy

在对所有现有的 Django 搜索插件进行了快速评估之后,我发现这个插件是最灵活和最容易使用的。它在少数地方的边缘粗糙,但它仍然是在 Django 项目中使用 夏皮安搜索引擎的最佳方式。

我发现 Djoosh依靠纯 Python 外部搜索引擎 Whoosh与我的“ Python”大脑协同工作。

您可能想看看 Django Solr search(又名“ Solango”) ,它附带了一些很好的文档,让您开始..。

你可能会考虑让雅虎用他们自己的搜索服务(BOSS)来完成所有的艰苦工作。这里有一篇很棒的博客文章,可以帮助你完成整个过程: Http://www.peterkrantz.com/2008/yahoo-search-in-django/

看看 大海捞针搜索-一个新的基于模型的搜索抽象层,目前支持 夏皮安太阳。看来证据确凿。

谷歌代码页为 姜戈搜索表明,它不再是积极的发展,并建议 大海捞针Solango

我想我要大声呼喊大日本了。

它是坚如磐石的... 只要拉下源代码发行版和窥视内部。一流的代码,没有很多注释。

It's still a young software project, but I think the django community should throw it's weight behind this one.

我只是需要一个 很快解决方案,这是一个内部应用程序没有大惊小怪。

我找到了文章 快速向 Django 添加搜索,这对我来说非常好!

Obviously it lacks the speed, scalability and features of the real projects like Haystack, but this one is easier to set up, and I don't really need anything else than keyword AND-search.

如果你愿意使用第三方搜索引擎,我可以推荐 雅虎老板django-bosssearch

雅虎 BOSS 是一个付费服务,但它节省了你设置和维护服务器上的其他搜索软件。