1、安装 flask_whooshalchemyplus

方式一: pip install flask_whooshalchemyplus
方式二: git clone https://github.com/Revolution1/Flask-WhooshAlchemyPlus.gitcd Flask-WhooshAlchemyPluspython setup.py install
版本0.7.6pip install SQLAlchemy==1.3.24
需要注意SQLAlchemy版本,1.4会出现问题

2、创建工厂类配置

__init__.pyapp = Flask(__name__, template_folder='../templates')
app.config.from_object(config)
app.before_request(jwt_authentication)
db.init_app(app)
# flask_whooshalchemyplus.init_app(app)
with app.app_context():flask_whooshalchemyplus.index_all(app)
cache.init_app(app)app.register_blueprint(user_bp)
app.register_blueprint(course_bp)
# 第三方登录
app.register_blueprint(oauth2_bp)
# vip 表
app.register_blueprint(vip_bp)
# 购买相关
app.register_blueprint(pay_bp)
# setup_log('testing')
cors = CORS(app, resources={r"/*/*": {"origins": "*"}})

3、配置文件

conf.pyimport os
basedir = os.path.abspath(os.path.dirname(__file__))class DefaultConfig(object):
"""
Flask默认配置
"""
# flask-sqlalchemy使用的参数
SQLALCHEMY_DATABASE_URI = ''
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_ECHO = False
JWT_SECRET = 'LSJFLSJFLWE23O9UDFNSDF'
CACHE_TYPE = 'redis'  # 使用redis作为缓存  simple/memcached/uwsgi/redis/filesystem
# CACHE_KEY_PREFIX  # 设置cache_key的前缀
CACHE_REDIS_HOST = ''  # redis地址
CACHE_REDIS_PORT = '6379'  # redis端口
# CACHE_REDIS_PASSWORD  # redis密码
CACHE_REDIS_DB = 2  # 使用哪个数据库
# CACHE_DIR = 'D:\code\information_items'
# 索引存放位置
WHOOSH_BASE = os.path.join(basedir, 'WHOOSH_BASE_INDEX')

4、model设置

class Tag(Base):
"""
课程标签
"""
__tablename__ = 'tag'
__searchable__ = ['title', 'desc']
__analyzer__ = ChineseAnalyzer()id = db.Column(db.Integer, primary_key=True, doc='课程标签id')
title = db.Column(db.String(16), doc='课程类别')
desc = db.Column(db.String(256), doc='课程描述')
sequence = db.Column(db.Integer, doc='展示顺序', default=10)
course = db.relationship('Course', secondary='course_tag', backref=db.backref('tags'))def __str__(self):return self.title

5、搜索数据

parse = reqparse.RequestParser()
parse.add_argument('q')
args = parse.parse_args()
search = args['q']
tag_list = Tag.query.whoosh_search(search).all()

6、更新数据

更新有索引的数据后,需要将对应的索引添加db.session.add(course)
db.session.commit()
flask_whooshalchemyplus.index_one_model(Course)

flask搜索引擎whoosh的配置相关推荐

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

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

  2. python flask跨域_Flask配置Cors跨域的实现

    1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html.Css.Js,然后在Js中通过Ajax访问C服务器的静态资源或请求.即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源 ...

  3. vscode之python框架flask 断点调试的配置(官方推荐的配置,务必注意端口)

    flask的配置务必注意端口,默认端口5000如果被占用,你访问的数据无法返回,请更换端口! 更多细节配置,看官方文档,最权威:Debugging configurations for Python ...

  4. flask 的whoosh搜索引擎

    搜索引擎主要分6步 安装flask_whooshalchemyplus 创建工厂类的配置 配置文件settings Model 设置 搜索数据 更新数据 1.安装 1.pip install flas ...

  5. Flask + Nginx + React + Webpack 配置解决跨域问题

    用 Flask 做后端开发单页应用,webpack-dev-server 生成静态文件在http://localhost:8080 下,Flask 页面在 http://localhost:5000 ...

  6. flask 第八篇 实例化flask时的参数配置

    Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from ...

  7. 微信公众号+Flask+新浪SAE 配置

    原理:在微信公众号后台,调用flask写的服务. 新浪SAE中,申请云应用SAE,python,标准环境,代码管理:SVN(). 代码管理-创建版本,我创建的是版本号为1的版本,所以链接为:http: ...

  8. 【python学习 -第九周期-flask基础:flak配置、网页渲染jinja2】

    [1.9.1 flask介绍和安装] https://www.bilibili.com/video/BV17r4y1y7jJ/?p=3&vd_source=8d5bc5d755d146032f ...

  9. Solr搜索引擎 — 通过mysql配置数据源

    2019独角兽企业重金招聘Python工程师标准>>> 上一节我们已经通过两种方式运行了solr,本节演示怎么配置solr的mysql数据源 附上: 喵了个咪的博客:http://w ...

最新文章

  1. SpringBoot文件上传异常之temporary upload location not valid
  2. 网络编程学习笔记(ICMPv6和IPv6套接口选项)
  3. amd显卡显存测试程序_AMD发布Radeon 6000系列显卡:能耗比大提升
  4. 中缀表达式计算、后缀表达式计算、中缀转后缀
  5. 《剑指offer》--二维数组中的查找、从头到尾打印链表、重建二叉树、旋转数组的最小数字
  6. boost::callable_traits添加member左值引用
  7. 详解:设计模式之-适配器模式
  8. I盘提示位置不可用数据怎样找到
  9. 算法排序代码(简单排序)
  10. 金融市场一周简报(2017-08-18)
  11. oracle field怎么翻译,field是什么意思_field的翻译_音标_读音_用法_例句_爱词霸在线词典...
  12. IIIT5K数据提取预处理
  13. arcgis 实验教程--ModelBuilder与空间建模
  14. 青蛙跳格子(斐波那契数列)
  15. matlab拟合斜椭圆,椭圆拟合及拟合度评价
  16. oracle 918,Oracle00-918:未明确定义列的错误
  17. 《实施Cisco统一通信管理器(CIPT1)》一2.5 跨越IP WAN的集群部署模型
  18. MySql索引查询优化 千万级数据普通查询和建立索引后数据查询耗时对比
  19. 什么是HEVC?解释了高效视频编码,H.265和4K压缩
  20. 电压和电流型磁链观测器学习

热门文章

  1. 隐私计算岗高薪酬冲上热搜!高居十大数字技术薪酬榜首!成2022求职最HOT职位
  2. 你不知道的margin:auto居中原理
  3. python证书有用吗_python有证书考吗
  4. QT5.7操作word
  5. 频谱仪的更改ip_【正点原子FPGA连载】第五十一章 基于FFT IP核的音频频谱仪-摘自【正点原子】开拓者 FPGA 开发指南 (amobbs.com 阿莫电子论坛)...
  6. win10访问不了SAMBA
  7. 诚之和:3个月亏17亿,贝壳释放了什么信号?
  8. yield 和 yield*
  9. MySQL学习笔记(九)MVCC
  10. 惠普暗影精灵ubuntu双系统安装(通用方法)