16 Flask mega-tutorial 第16章 全文搜索 Full-Text Search

如需转载请注明出处。
win10 64位、Python 3.6.3、Notepad++、Chrome 67.0.3396.99(正式版本)(64 位)
注:作者编写时间2018-03-21,linux、python 3.5.2

以下内容均是加入自己的理解与增删,以记录学习过程。不限于翻译,部分不完全照搬作者Miguel Grinberg的博客,版权属于作者,感谢他提供免费学习的资料。

本章将为Microblog添加全文搜索功能。以便用户可以使用自然语言找到有趣的帖子。对于许多类型的网站,可让Google、Bing等对所有内容编制索引,并通过其搜索API提供搜索结果。适用于主要是静态页面的网站,例如论坛。但在这个应用程序中,内容的基本单元是用户帖子,它是整个网页的一小部分。我想要的搜索结果类型是针对这些单独的博客帖子而不是整个页面。例如,如果我搜索单词“dog”,将查看到包含该单词的任何用户的博客帖子。显然是一个页面,显示所有包含“dog”一词的博客。

全文搜索引擎简介

对全文搜索的支持不像关系数据库那样标准化。有几个开源全文引擎:ElasticsearchApache SolrWhooshXapianSphinx等。

安装Elasticsearch

Elasticsearch教程

Elasticsearch配置

全文搜索抽象

将搜索与SQLAlchemy集成

搜索表格

搜索视图功能

未完待续




目前为止,项目结构:

microblog/
    app/
        auth/
        errors/
        main/
        static/
        templates/
            auth/
            email/
            _post.html
            base.html
            edit_profile.html
            index.html
            user.html
        __init__.py
        cli.py
        email.py
        models.py
        translate.py
    logs/
    migrations/
    env/
    app.db
    babel.cfg
    config.py
    microblgo.env
    microblog.py
    requirements.txt
    tests.py

参考:
作者博客
源代码

如需转载请注明出处。

猜你喜欢

转载自blog.csdn.net/weixin_38256474/article/details/82119331
今日推荐