资讯专栏INFORMATION COLUMN

基于whoosh实现的flask全文搜索插件

Jason_Geng / 1726人阅读

摘要:貌似很少全文搜索的插件有一个但试了几次都用不了所以参考自己写了一个插件基于纯编写使用上很简单创建更新删除索引如果要对已存在的数据创建索引全部创建更新删除如果只想要为指定的表创建索引自定义比如使用的中文分词项目地址演示

flask 貌似很少全文搜索的插件,有一个 Flask-WhooshAlchemy , 但试了几次都用不了,所以参考 Flask-WhooshAlchemy 自己写了一个

Quickstart

插件基于 whoosh,纯 python 编写,使用上很简单

from flask_msearch import Search
[...]
search = Search()
search.init_app(app)

# models.py
class Post(db.Model):
    __tablename__ = "post"
    __searchable__ = ["title", "content"]

# views.py
@app.route("/search")
def w_search():
    keyword = request.args.get("keyword")
    results = search.whoosh_search(Post,query=keyword,fields=["title"],limit=20)
    return ""

Usage

创建更新删除索引

如果要对已存在的数据创建索引(全部)

# 创建
search.create_index()
# 更新
search.create_index(update=True)
# 删除
search.create_index(delete=True)

如果只想要为指定的表创建索引

search.create_index(Model)

自定义analyzer

比如使用jieba的中文分词

from jieba.analyse import ChineseAnalyzer
search = Search(analyzer=ChineseAnalyzer())

Configure
WHOOSH_BASE = "whoosh_index"
WHOOSH_ENABLE = True

项目地址:https://github.com/honmaple/f...
演示: demo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38590.html

相关文章

  • 使用haystack实现django全文检索搜索引擎功能

    摘要:搜索引擎使用,是一个纯实现的全文搜索引擎,小巧简单。中文搜索需要进行中文分词,使用。高亮部分的源码位于和文件中,可复制进行修改,实现自定义高亮功能。 前言 django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。 搜索引擎使用whoosh,是一个纯python实现的全文搜索引擎,小巧简单。 中文搜索需要进行中文分词,使用jieba。 直...

    wh469012917 评论0 收藏0
  • Django添加全文搜索功能入门篇

    摘要:转载说明来源添加全文搜索功能入门一使用的工具是的开源搜索框架,该框架支持搜索引擎,不用更改代码,直接切换引擎,减少代码量。修改如下添加修改为如下第二步在中修改引擎,如下第三步重建索引,在进行搜索中文试试吧。 感觉网络上关于Django全文搜索的中文文章太少,并且讲的也不是很到位,就是简单介绍了怎么配置,并没有说这样配置有什么用,所以依然很迷茫。所以希望我这篇文章能够帮助到后来人。 转...

    lookSomeone 评论0 收藏0
  • mdwiki开发之路一技术选型

    摘要:是一款系统,可以作为个人或小型团队的知识库管理系统。再加上目前开始学习与爬虫。技术选型作为新手,义不容辞为什么就为了原生支持开玩笑因为代表了的未来,而且越来越多的库已经迁移到了,没有什么理由不选择它。 mdwiki是一款markdown wiki系统,可以作为个人或小型团队的知识库管理系统。项目地址:本系列文章最后一篇给出(需要时间整理和测试) 为什么我要开发mdwiki? 目前本人的...

    pubdreamcc 评论0 收藏0
  • mdwiki开发之路一技术选型

    摘要:是一款系统,可以作为个人或小型团队的知识库管理系统。再加上目前开始学习与爬虫。技术选型作为新手,义不容辞为什么就为了原生支持开玩笑因为代表了的未来,而且越来越多的库已经迁移到了,没有什么理由不选择它。 mdwiki是一款markdown wiki系统,可以作为个人或小型团队的知识库管理系统。项目地址:本系列文章最后一篇给出(需要时间整理和测试) 为什么我要开发mdwiki? 目前本人的...

    李昌杰 评论0 收藏0
  • Python轻量级搜索工具Whoosh怎么使用?具体代码如下

      在Python当中,有一个轻量级的搜索工具,在日常使用的时候,用途还是比较广的,这个工具就是Whoosh。那么,这个工具需要怎么进行使用呢?具体的代码内容有哪些呢?下面就给大家进行详细的解答。  Whoosh简介  Whoosh由Matt Chaput创建,它一开始是一个为Houdini 3D动画软件包的在线文档提供简单、快速的搜索服务工具,随着时代的发展,它慢慢的演变成了一个成熟的搜索工具,...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<