搜索引擎主要分6步

  1. 安装flask_whooshalchemyplus
  2. 创建工厂类的配置
  3. 配置文件settings
  4. Model 设置
  5. 搜索数据
  6. 更新数据

1.安装

1.pip install flask_whooshalchemyplus

如果安装报错 那就不适用这种安装方式

2. 第一步 :git clone https://github.com/Revolution1/Flask-WhooshAlchemyPlus.git

第二步: cd Flask-WhooshAlchemyPlus && python setup.py install

如果出现这样就成功安装好了---这只针对第二种安装方式

如果这样的话 还出现报错  那可能就是SQLAlchemy的版本问题

1.在你的操作台中查看那个 pip list

2.去查找SQLAlchemy的版本是不是1.3的

3.如果不是就卸载,如果是的话小编也没有办法了

4.pip install SQLAlchemy==1.3.24,需要注意SQLAlchemy版本,1.4会出现问题


2.创建工厂类配置

#导包
import flask_whooshalchemyplusapp = Flask(__name__, template_folder='../templates')
app.config.from_object(config)db.init_app(app)#添加索引
with app.app_context():
flask_whooshalchemyplus.index_all(app)#注册蓝图
app.register_blueprint(user_bp)
#跨域
cors = CORS(app, resources={r"/*/*": {"origins": "*"}})return app

3.配置文件

settings 里面的配置文件

import osclass Config(object):SECRET_KEY='YFYUUVUwhudge2u378gd'SQLALCHEMY_DATABASE_URI='mysql+pymysql://root:数据库密码@127.0.0.1:3306/库名'SQLALCHEMY_TRACK_MODIFICATIONS=FalseSQLALCHEMY_ECHO=FalseREDIS_HOST = "127.0.0.1"  # redis数据库地址REDIS_PORT = 6379  # redis 端口号REDIS_DB = 0  # 数据库名REDIS_EXPIRE = 60 * 5  # redis 过期时间300秒# 索引存放位置basedir = os.path.abspath(os.path.dirname(__file__))WHOOSH_BASE = os.path.join(basedir, 'WHOOSH_BASE_INDEX')

4.model设置

from jieba.analyse.analyzer import ChineseAnalyzer
class Tag(Base):
"""
课程标签
"""
__tablename__ = 'tag'
# __searchable__ 搜索的字段
__searchable__ = ['title']
# 可以中文字段搜索
__analyzer__ = ChineseAnalyzer()id = db.Column(db.Integer, primary_key=True, doc='课程标签id')
title = db.Column(db.String(16), 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.title

如果jieba 爆红就说明了没有这个包---进行安装----pip install jieba


5.搜索数据

class Getsearch(Resource):"""搜索引擎获取前端数据使用whoosh_search"""def get(self):parser = reqparse.RequestParser()parser.add_argument('q')args = parser.parse_args()search = args.get('q')course_list = Course.query.whoosh_search(search).all()return marshal(course_list, course_fields)api.add_resource(Getsearch,'/search')

6.更新数据

更新有索引的数据后,需要将对应的索引添加db.session.add(course)
db.session.commit()
flask_whooshalchemyplus.index_one_model(Course)

就是这样结束 如果有其他问题 还要小伙伴们指出,谢谢观赏

flask 的whoosh搜索引擎相关推荐

  1. 小白入门猿来如此之结巴jieba关键词提取+词性标注+返回词语在原文的起止位置+ChineseAnalyzer for Whoosh 搜索引擎

    关键词提取 基于 TF-IDF 算法的关键词抽取 import jieba.analyse jieba.analyse.extract_tags(sentence, topK=20, withWeig ...

  2. python搜索引擎 django_Django之whoosh搜索引擎

    一:搜索引擎简介 一:搜索引擎介绍 django是python语言后台web开发的一个框架,配合一些插件可为web网站实现很方便的搜索功能 django搜索引擎使用whoosh是一个纯python开发 ...

  3. 站内搜索引擎初探:haystack全文检索,whoosh搜索引擎,jieba中文分词

    在做django项目当中,不免要使用到站内搜索引擎,网站呈现的内容除了列表,详细页,首页之外,用户也需要通过搜索引擎来找到自己需要的内容. 安装: pip install django-haystac ...

  4. Python pandas数据计数函数value_counts

    value_counts介绍 value_counts是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中个数,类似Excel里面的count函数 其是pandas下面的顶层函数, ...

  5. whoosh mysql_Whoosh搜索引擎

    Whoosh搜索引擎 whoosh 是一个纯python实现的全文搜索引擎,它小巧轻便,安装简单,设计上参考了 Lucene ,性能上虽有欠缺,但贵在方便,无需复杂安装,对于构建小型网站的搜索引擎来说 ...

  6. web框架总结(django、flask)

    1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...

  7. flask中的所有第三方模块大集合

    关于flask你想要的这里都有!!! Flask-AppBuilder - Simple and rapid Application builder, includes detailed securi ...

  8. Django建立博客搜索功能(haystack+whoosh+jieba)

    0-效果预览 1-相关说明: haystack 全文检索框架,可配置各种搜索引擎,在Django内相当于app whoosh 搜索引擎 2-whoosh下载与优化 中文分词jieba 下载: pip ...

  9. 2020巅峰极客Web题---Easy Flask

    看标题,猜测改网站用的事Flask框架,搜索引擎一搜,发现Flask存在模板注入漏洞: 于是大概可以推测,题目应该考察的是模板注入漏洞. 打开题目网址,有个登录页面,输入用户名,进入下面的页面: 输入 ...

最新文章

  1. 怎么git 自己建的服务器_Git服务器搭建,以及Git基本操作
  2. 14.11类的成员修饰符
  3. DI / CDI –基础
  4. Linux 下的Core Dump
  5. centos7.4下安装配置PHP服务(源码安装)并配置nginx支持php
  6. 错误Cannot resolve org.springframework.data:spring-data-redis:2.2.6 RELEASE
  7. php对接银行接口,php 银行接口开发写法
  8. 华维实战小项目:教你如何用51单片机驱动步进电机
  9. 边缘计算研究热点地图
  10. JS 获取指定日期的前几天或者几天
  11. 含泪向小米贱卖处理器? 联发科:断章取义
  12. 解决上传SFTPorg.apache.commons.net.MalformedServerReplyException: Could not parse respon
  13. 推广文案写作有哪些技巧,母婴用品文案内容撰写时需要注意的事项
  14. Git步步进阶---Git tag操作全解析
  15. 泡菜 亚硝酸_不要相信泡菜
  16. 『解决办法』UBUNTU自带拼音输入法无法正常输入
  17. XSS闯关——第五关:level5
  18. My97 DatePicker切换日期类型
  19. 微生物如何影响我们的生活
  20. 基于 next.js + mdx 搭建组件库文档项目(二) -- mdx 控件封装实现组件的演示与 Props 列表

热门文章

  1. CentOS下使用busybox
  2. 微信状态出新玩法,又被网友玩坏了
  3. 【愚公系列】2023年06月 攻防世界-Web(babyweb)
  4. 520 | 机器人竟然对我表白了?!用Python假装自己有女朋友(附代码)
  5. 冒险王之神兵传奇无敌速升版2 该游戏是冒险王系列的第二部
  6. Excel中条件格式
  7. Codeup墓地-1104
  8. Codeup墓地-1126
  9. Ls-dyna L型截面梁的定义及截面偏移(通过APDL命令流的方法)
  10. 7座MPV和7座SUV有多大区别?