《Flask開發Web搜索引擎入門與實戰》介紹如何學習和使用流行的Flask 框架開發搜索引擎應用,主要內容包括面向Web開發的Python編程語言入門,使用Python 構建REST API,使用Flask-RESTPlus 生成Swagger 文檔,搜索引擎應用前端展示實現及自動完成功能與拼寫糾錯技術,互聯網搜索引擎案例分析。 全書共分7章:第1章著重介紹如何使用Python和Elasticsearch開發搜索引擎應用;第2章著重介紹Python的基本語法及其在Web開發中的使用;第3章著重介紹Web應用程序框架Flask和模板引擎Jinja,以及構建REST API方法;第4章著重介紹Werkzeug庫和Flask框架的源代碼;第5章著重介紹SQLAlchemy 和Flask-SQLAlchemy擴展;第6章著重介紹Elasticsearch的前端展示實現及自動完成功能與拼寫糾錯技術;第7章著重介紹醫藥垂直搜索引擎和集成了Elasticsearch的內容管理系統搜索CastleCMS。 《Flask開發Web搜索引擎入門與實戰》適合需要具體實現搜索引擎應用的開發人員或者對人工智能等相關領域感興趣的人士參考。
讀者對象
《Flask開發Web搜索引擎入門與實戰》適合需要具體實現搜索引擎應用的開發人員或者對人工智能等相關領域感興趣的人士參考。
本書特色
★ 搜索引擎后臺算法詳解。
★ 前后端分離的搜索界面實踐。
★ 使用Python編寫的Web框架Flask開發ElasticSerach大數據搜索引擎。
Flask是一個使用Python編程語言實現的輕量級Web應用程序框架。使用Flask開發Web搜索引擎是一種可能的選擇。《Flask開發Web搜索引擎入門與實戰》介紹了Flask結合Elasticsearch搜索服務器開發搜索引擎應用。
《Flask開發Web搜索引擎入門與實戰》共分7章:第1章介紹如何使用Python和Elasticsearch開發搜索引擎應用;第2章介紹Python基本語法及其在Web開發中的使用;第3章介紹Web應用程序框架Flask和模板引擎Jinja,以及使用Flask構建REST API和使用Flask-RESTPlus生成Swagger文檔;第4章分析Werkzeug 庫和Flask 框架的源代碼;第5章介紹SQLAlchemy和Flask-SQLAlchemy擴展;第6章介紹Elasticsearch的前端展示實現及自動完成功能與拼寫糾錯技術;第7章介紹醫藥垂直搜索引擎和集成了Elasticsearch的內容管理系統CastleCMS。
由于作者水平有限,書中難免有疏漏之處,敬請廣大讀者諒解。
感謝早期合著者、合作伙伴、員工、學員、讀者的支持,給我們提供了良好的工作基礎。就像玻璃容器中的水培植物一樣,這是一個持久可用的成長基礎。技術的融合與創新無止境。歡迎一起探索。
編者
張子憲,在《中國成人教育》、《中國科技論文》等核心期刊發表論文多篇,主編《自然語言處理原理與技術應用》學術專著1部;2016年7月在美國北喬治亞大學講學并從事機器翻譯研究工作,近幾年面向翻譯碩士主講《翻譯技術》課程。
第1章 Web搜索引擎開發
1.1 準備工作環境
1.2 Linux操作系統基礎
1.3 Elasticsearch的Python客戶端
1.3.1 安裝Elasticsearch
1.3.2 基本使用
1.3.3 定義索引結構
第2章 Python技術基礎
2.1 變量
2.2 注釋
2.3 簡單數據類型
2.3.1 數值
2.3.2 字符串
2.3.3 數組
2.4 字面值
2.5 控制流
2.5.1 if語句
2.5.2 循環
2.6 列表
2.7 元組
2.8 集合
2.9 字典
2.10 位數組
2.11 模塊
2.12 函數
2.12.1 print函數
2.12.2 定義函數
2.13 面向對象編程
2.13.1 靜態方法
2.13.2 __call__方法
2.14 使用StringIO模塊
2.15 文件操作
2.15.1 讀寫文件
2.15.2 重命名文件
2.15.3 遍歷文件
2.16 迭代器
2.16.1 zip函數
2.16.2 itertools模塊
2.17 數據庫
2.18 日志
第3章 Flask框架與微服務
3.1 Flask簡介
3.2 模板引擎Jinja
3.2.1 Jinja的基本使用
3.2.2 實現分頁
3.2.3 在Flask中使用Jinja
3.3 測試RESTful API的curl命令
3.4 JSON數據格式
3.5 構建REST API
3.6 Swagger文檔
3.7 使用Fetch API
3.8 發布Flask到Nginx
3.9 啟用HTTPS
第4章 Flask源代碼分析
4.1 Werkzeug庫
4.1.1 WSGI簡介
4.1.2 Werkzeug演示
4.2 源代碼分析
第5章 SQLAlchemy操作數據庫
5.1 使用SQLAlchemy
5.2 SQL表達式語言
5.2.1 定義和創建表
5.2.2 模式
5.2.3 插入和查詢
5.3 Flask-SQLAlchemy擴展
第6章 Elasticsearch分布式搜索引擎
6.1 實現用戶界面
6.1.1 搭建JavaScript環境
6.1.2 Node.js基礎
6.1.3 使用React前端庫
6.1.4 使用webpack模塊捆綁器
6.2 自動完成
6.3 拼寫糾錯
6.3.1 模糊匹配問題
6.3.2 英文拼寫檢查
6.3.3 中文拼寫檢查
第7章 Web搜索案例分析
7.1 醫藥垂直搜索引擎
7.2 內容管理系統搜索