whoosh安装使用
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安装使用相关推荐
- python搜索引擎 django_Django之whoosh搜索引擎
一:搜索引擎简介 一:搜索引擎介绍 django是python语言后台web开发的一个框架,配合一些插件可为web网站实现很方便的搜索功能 django搜索引擎使用whoosh是一个纯python开发 ...
- 天天生鲜项目从0开始
天天生鲜 一.环境准备 因为此文章是实践项目文章,所以对于基础的python安装就不多做赘述,这里只交代系统环境是ubuntu操作系统,python3.5 安装虚拟环境软件 安装虚拟环境: sudo ...
- Python项目(Django框架)天天生鲜在CentOS7.9搭建运行
项目地址:fresh-everyday CentOS安装python3 为方便管理,在CentOS桌面创建一个文件夹,将软件包下载到这里,右键--在终端打开 安装python3.9.7 : wget ...
- Python pandas数据计数函数value_counts
value_counts介绍 value_counts是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中个数,类似Excel里面的count函数 其是pandas下面的顶层函数, ...
- python怎么安装jieba库-python环境jieba分词的安装
我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...
- 站内搜索引擎初探:haystack全文检索,whoosh搜索引擎,jieba中文分词
在做django项目当中,不免要使用到站内搜索引擎,网站呈现的内容除了列表,详细页,首页之外,用户也需要通过搜索引擎来找到自己需要的内容. 安装: pip install django-haystac ...
- python全文检索框架_全文检索框架haystack和搜索引擎whoosh的使用
认识全文检索和搜索引擎以及相应的安装配置 1.认识全文检索和搜索引擎 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理. haystack:全文检索的框架,支持w ...
- 【ElasticSearch和whoosh实现项目中搜索功能】
文章目录 说明: 一.单表搜索 二,全局搜索 方式一:haystack+whoosh+Jieba 方式二:haystack+ES 总结: 说明: 我们的项目中经常会遇到搜索的功能,最近也写过搜索的功能 ...
- Python 库pyautogui 0.9.52的下载、安装和使用
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面.允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命 ...
最新文章
- AI已经会刷LeetCode了
- list删除某个元素_Redis对象——列表(List)
- protobuf版本冲突
- DataGrid 完全攻略之四 (实现统计)
- 建筑学跨专业计算机考研方向,不适合女生报考的考研专业你知道几个?
- JEECG J2EE敏捷开发框架(代码一键生成)
- 疫情期间不忽略障碍群体刚需、仍坚持做无障碍的倡议书
- 97.用好浏览器的缓存
- SQL Server实际执行计划COST欺骗案例
- 第一百六十三节,jQuery,基础核心
- max std value 宏_常用宏定义
- 高通GPS芯片WGR7640的驱动
- Win系统 - Win10 进入 BIOS 系统(非启动快捷键)
- realme真我Q5和iQOOz6pro哪个值得买 两者配置对比
- 黑马电商项目初始化学习笔记
- 量化交易 实战第一课 策略入门
- 使用数据库进行用户身份认证
- 深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
- tcpdump的使用方法
- GRE考试中--名词与动词的关系讲解