Python网站完整网站搜索

问题描述:

我想知道是否有人对类似于mnogosearch的Python全文搜索引擎有任何建议。我试图让它像Mnogosearch一样运行,但不知道如何与其他选项相比(如果有更好的选择)。Python网站完整网站搜索

例如,Haystack好像在为给定的Django模型字段建立索引方面做得很好,但我不确定它是否可以搜索整个网站的内容。

Solr/Lucine看起来很有希望,但我不太熟悉它。飞快似乎也可能是一个有趣的选择,但我想知道如果Python的实施会让它变慢?

我很新的搜索,所以我试图围绕不同的选项包围我的头。有没有人有任何好的意见,哪些搜索技术适用于索引整个网站?

感谢您的阅读。任何意见都非常感谢。

+2

你真的需要多少个好的替代品? Solr与Solrpy Python绑定在一起非常好。 – 2011-04-18 15:30:18

+0

感谢RestRisiko - 这个sorlpy选项很好理解。 – 2011-04-18 17:21:50

+0

[PyLucene] http://lucene.apache.org/pylucene/ – Joyce 2011-04-18 18:45:12

恕我直言,Solr的可能是最好的选择,性能,明智和功能方面,它是基于大量的测试技术。如果你正在寻找一个纯粹的Python解决方案,那么Whoosh看起来不错 - 我没有在生产中使用它,只是检查了它并查看了代码。它可能会比较慢,但我怀疑它对于搜索功能上流量较轻的网站显而易见。一个不错的特性是拥有一个可以考虑网站结构(如标题/标题/正文/页脚等)的BM25F实现,并且被认为是通用Web搜索模型的最新技术。

如果您使用的是Django,据我所知Haystack会让您更改搜索引擎后端,就像您可以更改RDBMS后端一样。

我不确定您的意思是“整个网站内容”。如果您网站的大部分网页内容不是从模型内容生成的,那么使用集成搜索索引可能不是最佳选择,可能类似IndexTank或Google网站搜索。但在相反的情况下,如果您对搜索技术不熟悉,我会推荐干草堆,因为它可以让您的生活更加轻松。

+0

谢谢瓦西尔 - 你的文章已经帮了我一些方面。很高兴知道Solr看起来非常稳定和标准。抱歉对'整个网站内容'含糊不清。我正在寻找一些能够抓取页面并将其整合到Google Site Search或IndexTank等网站中的内容。 Mnogosearch是一个基于PHP的本地解决方案,我想知道是否存在类似于Solr/Lucine,Whoosh或Xapian等常用工具的功能,因为我不确定Mnogosearch有多大的动力。 – 2011-04-18 20:52:48

+1

@Joe J apache nutch与solr集成,可以抓取网站。虽然它可能是矫枉过正,但仍然是一个高质量的解决方案。 http://wiki.apache.org/nutch/NutchTutorial – Vasil 2011-04-18 20:58:45