1、安装 flask_whooshalchemyplus方式一: pip install flask_whooshalchemyplus方式二: git clone https://github.com/Revolution1/Flask-WhooshAlchemyPlus.gitcd Flask-WhooshAlchemyPluspython setup.py install版本0.7.6问题:AttributeError: type object 'Model' has no attribute '_decl_class_registry' 需要注意SQLAlchemy版本,1.4会出现以上问题,需要1.3.x版本pip install SQLAlchemy==1.3.242、创建工厂类配置__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 osbasedir = os.path.abspath(os.path.dirname(__file__))class DefaultConfig(object):"""Flask默认配置"""SQLALCHEMY_DATABASE_URI = ''SQLALCHEMY_TRACK_MODIFICATIONS = FalseSQLALCHEMY_ECHO = FalseJWT_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.title5、搜索数据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)

whoosh安装使用相关推荐

  1. python搜索引擎 django_Django之whoosh搜索引擎

    一:搜索引擎简介 一:搜索引擎介绍 django是python语言后台web开发的一个框架,配合一些插件可为web网站实现很方便的搜索功能 django搜索引擎使用whoosh是一个纯python开发 ...

  2. 天天生鲜项目从0开始

    天天生鲜 一.环境准备 因为此文章是实践项目文章,所以对于基础的python安装就不多做赘述,这里只交代系统环境是ubuntu操作系统,python3.5 安装虚拟环境软件 安装虚拟环境: sudo ...

  3. Python项目(Django框架)天天生鲜在CentOS7.9搭建运行

    项目地址:fresh-everyday CentOS安装python3 为方便管理,在CentOS桌面创建一个文件夹,将软件包下载到这里,右键--在终端打开 安装python3.9.7 : wget ...

  4. Python pandas数据计数函数value_counts

    value_counts介绍 value_counts是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中个数,类似Excel里面的count函数 其是pandas下面的顶层函数, ...

  5. python怎么安装jieba库-python环境jieba分词的安装

    我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...

  6. 站内搜索引擎初探:haystack全文检索,whoosh搜索引擎,jieba中文分词

    在做django项目当中,不免要使用到站内搜索引擎,网站呈现的内容除了列表,详细页,首页之外,用户也需要通过搜索引擎来找到自己需要的内容. 安装: pip install django-haystac ...

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

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

  8. 【ElasticSearch和whoosh实现项目中搜索功能】

    文章目录 说明: 一.单表搜索 二,全局搜索 方式一:haystack+whoosh+Jieba 方式二:haystack+ES 总结: 说明: 我们的项目中经常会遇到搜索的功能,最近也写过搜索的功能 ...

  9. Python 库pyautogui 0.9.52的下载、安装和使用

    图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面.允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命 ...

最新文章

  1. [Linux] 批量添加用户
  2. arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
  3. 状态机-重叠序列检测
  4. linux awk 日志分析,Linux Awk使用案例总结 nginx日志统计
  5. orgmode导出html,含有python代码块的ORG-MODE导出为HTML时出错
  6. java 常用 函数_java在线报表中有哪些常用函数
  7. python 矩阵乘法梯度下降_使用python和numpy进行梯度下降
  8. R语言︱集合运算——小而美法则
  9. 前端开发的工具,库和资源总结
  10. 汇编语言的强制类型转换
  11. vue 实例化几种方式_第二节:Vue实例化
  12. 绿坝花季护航,为何如此吸引眼球?
  13. 积分墙广告平台接入指路
  14. Ipv6地址与Ipv6 Cidr合法性校验
  15. 【5G核心网】5GC核心网之网元UDR
  16. AI与未来文明:人工智能能否重塑人类文化,改变社会生活?
  17. npm install的报错 npm ERR! code ENOENTnpm ERR! syscall opennpm ERR! path D:\work\main/package.jsonnp
  18. JMeter笔记9 | JMeter参数化
  19. Mybatis的Spring集成、Aop整合
  20. 粤嵌开发板ARM电子相册

热门文章

  1. python中where的用法_Python中where()函数的用法详解
  2. python网页编辑器-史上超强 Python 编辑器,竟然是张网页?!
  3. 用java写七夕_一位JAVA程序员的七夕情书
  4. 2014年暑假学习笔记
  5. 液晶显示屏-电子时钟
  6. 一行Python代码画心型
  7. 超级计算机打游戏帧数,B社真的搞了台超级电脑让《毁灭战士:永恒》跑到1000帧...
  8. 《高级软件工程》学习总结与感想
  9. Ls-dyna L型截面梁的定义及截面偏移(通过APDL命令流的方法)
  10. Windchill的历史