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. AI已经会刷LeetCode了
  2. list删除某个元素_Redis对象——列表(List)
  3. protobuf版本冲突
  4. DataGrid 完全攻略之四 (实现统计)
  5. 建筑学跨专业计算机考研方向,不适合女生报考的考研专业你知道几个?
  6. JEECG J2EE敏捷开发框架(代码一键生成)
  7. 疫情期间不忽略障碍群体刚需、仍坚持做无障碍的倡议书
  8. 97.用好浏览器的缓存
  9. SQL Server实际执行计划COST欺骗案例
  10. 第一百六十三节,jQuery,基础核心
  11. max std value 宏_常用宏定义
  12. 高通GPS芯片WGR7640的驱动
  13. Win系统 - Win10 进入 BIOS 系统(非启动快捷键)
  14. realme真我Q5和iQOOz6pro哪个值得买 两者配置对比
  15. 黑马电商项目初始化学习笔记
  16. 量化交易 实战第一课 策略入门
  17. 使用数据库进行用户身份认证
  18. 深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
  19. tcpdump的使用方法
  20. GRE考试中--名词与动词的关系讲解

热门文章

  1. python编译举例_PythonOCC开发-如何搭建开发环境和一个创建圆台例子
  2. 压缩感知与奈奎斯特采样定理
  3. 基于阿里云数加构建企业级数据分析平台
  4. Hadoop命令参考
  5. 百度地图路书开发---增加路书销毁
  6. 我用Python放了除夕烟花
  7. STM32——多通道ADC的DMA方式采集方法
  8. List集合增强for循环时产生的异常
  9. 《企业网络构建与安全管理教程》上册
  10. 华硕如何把黄静送进看守所?