您的位置:首页 > 其它

基于whoosh的flask全文搜索插件flask-msearch

2017-08-11 10:13 501 查看
flask 的全文搜索插件很少,有个Flask-WhooshAlchemy,最近发现个flask-msearch,使用了下感觉不错。

安装flask-msearch

pip install flask-msearch

flask配置

from flask_msearch import Search...search = Search()search.init_app(app)#如果出现“sqlalchemy ValueError”报错,那么修改为#db = SQLalchemy()#search = Search(db=db)# 修改models.pyclass Post(db.Model):__tablename__ = 'post'__searchable__ = ['title', 'content'] #指定要索引的字段# 修改views.py@app.route("/search")def w_search():keyword = request.args.get('keyword')results = Post.query.msearch(keyword,fields=['title'],limit=20).filter(...)# 或者results = Post.query.filter(...).msearch(keyword,fields=['title'],limit=20).filter(...)return ''

Configure

MSEARCH_INDEX_NAME = 'whoosh_index'# simple,whooshMSEARCH_BACKEND = 'whoosh'# 自动生成或更新索引MSEARCH_ENABLE = True

Usage

创建更新删除索引

如果要对已存在的数据创建索引(全部)# 创建search.create_index()# 更新search.create_index(update=True)# 删除search.create_index(delete=True)如果只想要为指定的表创建索引search.create_index(Model)

自定义analyzer

比如使用jieba的中文分词from jieba.analyseimportChineseAnalyzersearch = Search(analyzer=ChineseAnalyzer())项目地址:https://github.com/honmaple/flask-msearch
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  flask