搜索引擎推荐100个大约4000页的网站

时间:2010-04-26 18:08:04

标签: python search-engine

我正在寻找一个搜索引擎,可以定期(每日)扫描大约100页的更改,并在找到自上次扫描后发生的更改时索引相关网站。它应该能够处理大约100个站点,每个站点平均4000页,平均大小约为5k,每个站点位于不同的服务器上(但只有一个集中式搜索引擎)。这些网站中的每一个都将有一个提交给此搜索引擎的搜索表单。返回的结果必须特定于提交它们的站点。我为外部网站创建模板,因此我可以为搜索表单提供一个隐藏字段,指定表单提交的位置。

我建议你研究什么?

如果可行的话,我很乐意使用基于Python的系统。

我目前正在使用名为iSearch2的内容。它在这种规模上看起来似乎不太稳定,产品的描述表明它并不是真正打算做多个站点,而是用PHP(这对我来说不如Python),还有一些其他缺点我的具体情况。

3 个答案:

答案 0 :(得分:1)

我建议PyLucene。 PyLucene是一个用于访问Java Lucene的Python扩展,并且工作得很好而且速度很快。

答案 1 :(得分:1)

如果您正在寻找纯python搜索引擎,可以查看whoosh。嗖的一声是它的速度很慢而不是全功能。如果您的网站没有获得太多流量,那就没关系了,但您可能需要更强大的生产能力。

话虽如此,我喜欢使用Xapian及其python bindings。它设置起来非常快速和简单。

您还可以使用solrpython api。 Solr是用Java编写的,但是不要让那个骗过你,因为它是这一群中表现最好的。你只需运行一个java服务器即可实现这一点。

由于我使用Django,我可以将haystack集成到我的项目中,这样可以轻松切换搜索引擎。我将使用Whoosh进行开发,因为它的设置简单快捷(可以安装在virtualenv中),但可以根据我的需要使用Xapian或Solr进行生产。

答案 2 :(得分:0)

+1 Lucene。如果PyLucene看起来很复杂,那么你可以看看Solr(这是一个基于Lucene的搜索服务器,带有HTTP接口。高度可扩展,速度快,并提供非常好的功能集,如分面浏览,缓存等.OOTB

由于Solr是基于HTTP的,因此您可以使用其RESTful API挂接到任何语言(包括Python)。