【问题标题】:Search index for flat HTML pages平面 HTML 页面的搜索索引
【发布时间】:2013-01-12 07:33:23
【问题描述】:

我希望将搜索功能添加到现有的完全静态网站中。很可能,新的搜索功能本身需要是动态的,因为搜索索引需要定期更新(当人们对静态内容进行更改时),并且搜索结果需要在用户与之交互时动态生成.我希望使用 Python 添加此功能,因为这是我的首选语言,尽管我对想法持开放态度。

在这种情况下,Google Web Search API 将不起作用,因为被索引的内容位于专用网络上。 Django haystack 不适用于这种情况,因为这需要将内容存储在 Django 模型中。一个名为 mnoGoSearch 的工具可能是一种选择,因为我认为它可以像 Google 那样爬取网站,但我不确定该项目的活跃程度;项目网站似乎有点过时了。

我对使用 Solr、ElasticSearch 或 Whoosh 等工具感到好奇,尽管我相信这些工具只是索引引擎,并不处理搜索内容的解析。有人对如何索引静态 html 内容以作为一组搜索结果进行检索有任何建议吗?感谢您的阅读和您的任何反馈。

【问题讨论】:

    标签: python html search indexing django-flatpages


    【解决方案1】:

    使用 Solr,您可以编写代码来检索要索引的内容,从每个项目中解析出目标部分,然后将其发送到 Solr 进行索引。

    然后,您将与 Solr 进行交互以进行搜索,并让它返回整个索引文档的 ID 或有关原始索引内容的一些其他标识信息,使用这些信息向用户显示结果。

    【讨论】:

    • 感谢您的建议迈克尔。我想没有灵丹妙药,我可能需要做一些解析。我遇到的一个有趣的工具是 Apache Tika,它支持 HTML 提取(以及一堆其他文件格式)。也许这可能有助于简化 html 内容的索引。再次感谢您的帮助。
    • 没问题!我也遇到过和你类似的情况。我最终索引了一个删除了 html 标签的内容版本,同时索引了整个文档。这使我能够一举搜索文档并检索文档的全部内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多