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,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面.允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命 ...
最新文章
- [Linux] 批量添加用户
- arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
- 状态机-重叠序列检测
- linux awk 日志分析,Linux Awk使用案例总结 nginx日志统计
- orgmode导出html,含有python代码块的ORG-MODE导出为HTML时出错
- java 常用 函数_java在线报表中有哪些常用函数
- python 矩阵乘法梯度下降_使用python和numpy进行梯度下降
- R语言︱集合运算——小而美法则
- 前端开发的工具,库和资源总结
- 汇编语言的强制类型转换
- vue 实例化几种方式_第二节:Vue实例化
- 绿坝花季护航,为何如此吸引眼球?
- 积分墙广告平台接入指路
- Ipv6地址与Ipv6 Cidr合法性校验
- 【5G核心网】5GC核心网之网元UDR
- AI与未来文明:人工智能能否重塑人类文化,改变社会生活?
- npm install的报错 npm ERR! code ENOENTnpm ERR! syscall opennpm ERR! path D:\work\main/package.jsonnp
- JMeter笔记9 | JMeter参数化
- Mybatis的Spring集成、Aop整合
- 粤嵌开发板ARM电子相册