我正在建立一个需要搜索功能的Django项目,直到有一个 django.contrib.search
,我必须选择一个搜索应用程序。那么,哪个最好?“最好”是指...
- 易于安装/设置
- 具有Django或至少Python友好的API
- 可以执行相当复杂的搜索
这是我听说过的一些应用程序,如果您知道其中任何一个,请建议其他应用程序:
我还想避免使用第三方搜索引擎(例如Google SiteSearch),因为我想索引的某些数据仅适用于网站成员,不应公开。
我正在建立一个需要搜索功能的Django项目,直到有一个 django.contrib.search
,我必须选择一个搜索应用程序。那么,哪个最好?“最好”是指...
这是我听说过的一些应用程序,如果您知道其中任何一个,请建议其他应用程序:
我还想避免使用第三方搜索引擎(例如Google SiteSearch),因为我想索引的某些数据仅适用于网站成员,不应公开。
Answers:
查阅Haystack Search-一个基于模型的新模型,该抽象层目前支持Xapian,Solr和Whoosh。看起来它得到了很好的支持和记录。
贾斯汀,我先尝试djangosearch:Jacob Kaplan-Moss(Django的首席开发人员)正在研究它。
潜在危险:
潜在的好处:
django.contrib.search
。”我正在寻找同一件事,就像其他许多人一样。希望很快会添加django.contrib.search。
同时,这是我发现的内容:
对我来说,大多数看起来很复杂,坦率地说,实施起来有些艰巨。我很想了解您对这些的看法。
谢谢加思。我曾经见过djangosearch想成为正式的Django搜索,但是由于无法找到任何文档,我还是犹豫使用它!幸运的是,在Subversion中有一个自述文件,我以前从未见过,它使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”,这对我来说非常出色!
显然,它缺乏像Haystack这样的真实项目的速度,可伸缩性和功能,但是此项目更易于设置,除关键字AND-search外,我真的不需要其他任何东西。
您可能需要考虑让Yahoo借助其构建自己的搜索服务(BOSS)来完成所有艰苦的工作。这是一篇很棒的博客文章,它将引导您完成整个过程:http : //www.peterkrantz.com/2008/yahoo-search-in-django/
好像这里的每个人都错过了django-xappy
在对Django的所有现有搜索插件进行了快速评估之后,我发现这是最灵活,最易于使用的插件。在几个地方的边缘都很粗糙,但这仍然是在Django项目中使用Xapian搜索引擎功能的最佳方法。
您可能想看一下Django Solr搜索(又名“ Solango”),它附带了一些不错的文档来帮助您入门...
我想我将不得不向贾比安大喊大叫。
坚如磐石...只需拉下源代码分布并查看内部即可。一流的代码,评论不多。
它仍然是一个年轻的软件项目,但是我认为django社区应该将它的精力放在这个项目上。
如果您愿意使用第三方搜索引擎,我可以推荐Yahoo BOSS和django-bosssearch。
Yahoo BOSS是一项付费服务,但是它可以节省您在服务器上设置和维护其他搜索软件的费用。