【问题标题】:Python Website Full-Site SearchPython网站全站搜索
【发布时间】:2011-04-18 15:21:09
【问题描述】:

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

例如,Haystack 似乎在索引您指定的 Django 模型字段方面做得很好,但我不确定它是否可以搜索网站的全部内容。

Solr/Lucine 看起来很有前途,但我对它不太熟悉。 Whoosh 似乎也可能是一个有趣的选择,但我想知道 Python 实现是否会使其变慢?

我对搜索还很陌生,所以我试图围绕不同的选项展开思考。有没有人对哪些搜索技术可以很好地为整个网站编制索引有什么好的意见?

感谢阅读。非常感谢任何 cmets。

【问题讨论】:

  • 您真正需要多少好的替代品? Solr 与 solrpy Python 绑定完美结合。
  • 感谢 RestRisiko - 这个 sorlpy 选项很值得了解。

标签: python search lucene solr whoosh


【解决方案1】:

恕我直言 Solr 可能是最好的选择,无论是性能还是功能,它都基于经过严格测试的技术。如果你正在寻找一个纯 Python 解决方案 Whoosh 看起来不错 - 我没有在生产中使用它,只是检查了它并查看了代码。它可能会更慢,但我怀疑它对于在搜索功能上获得较少流量的网站来说是显而易见的。 whoosh 的一个不错的功能是 BM25F 的实现,它可以考虑网站结构,例如标题/页眉/正文/页脚等,并且在通用网络搜索模型中被认为是最先进的。

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

我不确定您所说的“整个网站内容”到底是什么意思。如果您网站的大部分页面内容不是从模型内容生成的,那么使用集成搜索索引可能不是最佳选择,可能是 IndexTank 或 Google 站点搜索之类的。但在相反的情况下,如果您不熟悉任何一种搜索技术,我建议您使用 haystack,因为它会让您的生活更轻松。

【讨论】:

  • 谢谢你 Vasil - 你的帖子给了我一些指导。很高兴知道 Solr 看起来相当稳定和标准。很抱歉对“整个网站内容”含糊其辞。我正在寻找可以抓取页面并将它们集成到 Google Site Search 或 IndexTank 等网站的东西。 Mnogosearch 是一个基于 PHP 的解决方案,用于在本地执行此操作,我想知道是否存在与 Solr/Lucine、Whoosh 或 Xapian 等更常见工具之一类似的功能,因为我不确定 Mnogosearch 有多少动力.
  • @Joe J apache nutch 与 solr 集成,可以爬取网站。虽然它可能是矫枉过正,但仍然是一个高质量的解决方案。 wiki.apache.org/nutch/NutchTutorial
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 2010-10-27
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多