记——flask实现全文搜索
2024-09-08 18:08:18
参考:
flask入门和进阶十(实现全文搜索)已解决:https://blog.csdn.net/chengmo123/article/details/100552287
一、首先安装flask-whooshalchemyplus
https://github.com/Revolution1/Flask-WhooshAlchemyPlus 源码下载后用:python setup.py install安装
二、项目app做初始化flask-whooshalchemyplus
import flask_whooshalchemyplus # 初始化搜索
flask_whooshalchemyplus.init_app(app)
三、模型类中添加属性:
__searchable__
:表示按什么字段进行检索
__analyzer__
:可以添加jieba分词中的中文分词类
class Area(BaseModel,db.Model):
"""城区模型类""" __tablename__ = "ih_area_info" # 以titile字段搜索
__searchable__ = ['id','name'] # 中文分析
from jieba.analyse.analyzer import ChineseAnalyzer
__analyzer__ = ChineseAnalyzer() id = db.Column(db.Integer,primary_key=True) # 区域编号
name = db.Column(db.String(32), nullable=False) # 区域名字
house = db.relationship("House", backref='area') # 区域的房屋
四、路由函数中使用:
@api.route('/search',methods=["GET","POST"])
def search():
if request.method == "POST":
q = str(request.form.get('q'))
result = Area.query.whoosh_search(q).all()
return render_template('search_back.html',results=result) flask_whooshalchemyplus.index_one_model(Area) return render_template('search.html')
配置完后,浏览器访问,视图函数中会生成索引文件。
最新文章
- 【leetcode】ZigZag Conversion
- 第十一周PSP
- iOS - HTTPS接口加密和身份认证
- 基于struts2、spring的应用闲置一段时间后报空指针错(转)
- Azure Blob Storage从入门到精通
- jqmobi 子菜单 高亮效果
- UI控件之 ScrollView垂直滚动控件 和 HorizontalScrollView水平滚动控件的使用
- chrome Provisional headers are shown错误提示
- Appium Server 传递iOS参数
- xcode6 cocos2dx开玩笑git和github学习记录
- (转)Hadoop MapReduce链式实践--ChainReducer
- APP H5 混合自动化使用说明 [基于 Appium+Python 系列]
- Bean 的生命周期 之 后处理Bean
- [Luogu 3919]【模板】可持久化数组(可持久化线段树/平衡树)
- python+opencv读取视频,调用摄像头
- sql,求和小于一定值的数据行
- GO | KEGG的注释是怎么来的?
- 洛谷 P1823 音乐会的等待
- layui学习<;一>;
- Python自动化之跨域访问jsonp