安装:git clone https://github.com/Revolution1/Flask-WhooshAlchemyPlus.git
cd Flask-WhooshAlchemyPlus
pip install Flask-WhooshAlchemyPlus
使用:
模型类:
__searchable__ = ['name']
配置:
import os basedir = os.path.abspath(os.path.dirname(__file__))
# 索引存放位置 WHOOSH_BASE = os.path.join(basedir, 'WHOOSH_BASE_INDEX')
工厂函数:
import flask_whooshalchemyplus
def create_flask_app(config):
app = Flask(__name__)
# 配置文件
app.config.from_object(config)
# 初始化整个项目的db
db.init_app(app)
# 对所有的请求进行跨域
cors = CORS(app)
# todo 注册蓝图
#搜索
# flask_whooshalchemyplus.init_app(app)
with app.app_context():
flask_whooshalchemyplus.index_all(app)
# cache.init_app(app)
# 创建Api
api = Api(app)
return app
搜索:
# 搜所 class GetTag(Resource): def get(self): parser = reqparse.RequestParser() parser.add_argument('name') args = parser.parse_args() name = args.get('name') course = CourseTags.query.whoosh_search(name).all() return marshal(course,course_fields)