flask 的全文搜索插件很少,有个Flask-WhooshAlchemy,最近发现个flask-msearch,使用了下感觉不错。

安装flask-msearch

pip install flask-msearch

flask配置

from flask_msearch import Search

...

search = Search()

search.init_app(app)

#如果出现“sqlalchemy ValueError”报错,那么修改为

#db = SQLalchemy()

#search = Search(db=db)

# 修改models.py

class Post(db.Model):

__tablename__ = 'post'

__searchable__ = ['title', 'content']       #指定要索引的字段

# 修改views.py

@app.route("/search")

def w_search():keyword = request.args.get('keyword')

results = Post.query.msearch(keyword,fields=['title'],limit=20).filter(...)

# 或者results = Post.query.filter(...).msearch(keyword,fields=['title'],limit=20).filter(...)

return ''

Configure

MSEARCH_INDEX_NAME = 'whoosh_index'

# simple,whoosh

MSEARCH_BACKEND = 'whoosh'

# 自动生成或更新索引

MSEARCH_ENABLE = True

Usage

创建更新删除索引

如果要对已存在的数据创建索引(全部)

# 创建

search.create_index()

# 更新

search.create_index(update=True)

# 删除

search.create_index(delete=True)

如果只想要为指定的表创建索引

search.create_index(Model)

自定义analyzer

比如使用jieba的中文分词

from jieba.analyseimportChineseAnalyzer

search = Search(analyzer=ChineseAnalyzer())

python 全文检索 whoosh flask_基于whoosh的flask全文搜索插件flask-msearch相关推荐

  1. Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略

    Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)-从而实现Python编程图文教程之详细攻略 ...

  2. 帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件

    帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件 - GXECMS博客 一.插件演示地址 后台演示地址:https://ecms.gxecms.cf/e/admin/inde ...

  3. mysql全文搜索插件_MySQL 全文检索 ngram插件

    InnoDB默认的全文索引parser非常合适于Latin,因为Latin是通过空格来分词的.但对于像中文,日文和韩文来说,没有这样的分隔符.一个词可以由多个字来组成,所以我们需要用不同的方式来处理. ...

  4. 纯Python方案实现中英文全文搜索

    点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 在互联网上的各类网站中,无论大小,基本上都会有一个搜索框,用来给用户对内容进行搜索,小到站点 ...

  5. scrapy爬取表情包使用flask搭建搜索网站

    本文以doutula为演示站点,详细说明搭建一个自己的表情包搜索网站的过程.主要步骤如下: 1. scrapy爬取表情包并存入mysql 2. flask搭建搜索网站 准备工作,anaconda py ...

  6. python全文检索框架_全文检索框架haystack和搜索引擎whoosh的使用

    认识全文检索和搜索引擎以及相应的安装配置 1.认识全文检索和搜索引擎 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理. haystack:全文检索的框架,支持w ...

  7. 纯python全文检索whoosh例子

    Whoosh 是一个纯 Python 实现的全文搜索框架,包括Analyzer.建索引.查询等功能. 官方文档地址  Whoosh 2.7.4 文档 - Whoosh 2.7.4 文档https:// ...

  8. python 全文检索_Python whoosh 全文检索

    使用whoosh 针对自己的博客完成全文搜索功能 安装whoosh 和jieba(用于中文分词处理) 在这里搜索需要的安装包,复制安装命令即可 先将博客数据保存为 json格式,注意需要使用heade ...

  9. Python面试题大全(三):Web开发(Flask、爬虫)

    目录 Web Flask 140.对Flask蓝图(Blueprint)的理解? 141.Flask 和 Django 路由映射的区别? Django 142.什么是wsgi,uwsgi,uWSGI? ...

最新文章

  1. 高性能ORM框架XLinq功能详细介绍
  2. c# 5.0入门经典笔记
  3. vpx8运行待解决问题
  4. aelf帮助C#工程师10分钟零门槛搭建DAPP私有链开发环境
  5. 更改Java包名称如何改变我的系统架构
  6. MySql数据库常用命令宝典
  7. 【模仿】调用微信聊天功能和分享功能
  8. oracle das系统,分布式声波传感系统DAS
  9. Linux Linux函数 Linux聊天程序 基于socket的TCP(有连接的)聊天程序
  10. AllenNLP入门笔记(一)
  11. 计算机网络安全存在哪些潜在威胁,【计算机安全论文】威胁计算机安全论文(共4016字)...
  12. 论文阅读七:面向软件定义网络的负载均衡智能路由策略
  13. python arp断网攻击_arp断网攻击操作指导书
  14. python数据分析电影论文_以腾讯5000部电影为例,告诉你Python数据分析该怎么做...
  15. 【SYS/BIOS】4.2节同步模块之事件模块
  16. 小米手机访问电脑共享文件_小米手机共享文件夹在哪里
  17. (83)--用代码实现超越函数
  18. 截图及录屏工具ShareX
  19. 固态硬盘装到服务器上影响寿命吗,谈谈SSD固态硬盘的寿命问题
  20. 产品经理如何营销自己

热门文章

  1. 联想拯救者15ISK更换NVEM2.0三星SSD980过程实操
  2. 一年讲50本书,年收入过亿,罗振宇没做到的,樊登读书会凭什么?
  3. LOL自动走A和释放技能原理及安全防护
  4. 【SQL】窗口函数:求数据的整体百分比、整体累计值,组内累计值和组内累计百分比...
  5. 微信小程序将组件中的文字放置在正中间的方法
  6. 【NumPy中数组创建】
  7. 分布式系统、集群的时间同步
  8. 微信小程序-H5-uniapp css制作上下跳动的柱状图——频谱
  9. 影像的滑动窗口裁切与拼接(附代码)
  10. 域名备案(腾讯云买的域名,在阿里云上进行备案)