首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏自译文章/自学记录

    haystack+whoosh

    whoosh:检索引擎。(单词原意:飞快的移动。 安装django-haystack, whoosh, jieba(切换到项目目录下) $ cd ~/PycharmProjects/dailyfresh $ pip install whoosh $ = { 'default': { # 使用whoosh引擎 # haystack 通过 下面路径 中的 WhooshEngine类,来使用whoosh检索引擎 生成索引文件时,自动 在目录(BASE_DIR)下 创建目录(whoosh_index) 'PATH': os.path.join(BASE_DIR, 'whoosh_index'), 中的词语分析类: # 复制whoosh_backend.py并改名为whoosh_cn_backend.py $ cp whoosh_backend.py whoosh_cn_backend.py $

    1.6K20发布于 2019-08-27
  • 来自专栏caidblog

    haystack和whoosh的使用

    haystack(全文检索框架)和whoosh(全文检索引擎)的使用 后端安装与配置 1)在虚拟环境中依次安装需要的包。 HAYSTACK_CONNECTIONS = { 'default': { #使用whoosh引擎 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine 文件,新复制的文件名自定义(如whoosh_backend_bak.py),打开该新文件。 修改setting 'default': { #使用自定义的引擎,其中**whoosh_backend_bak**为第2)步中自己复制**whoosh_backend**后的新自定义文件名 **whoosh_backend_bak**.WhooshEngine', #索引文件路径 'PATH': os.path.join(BASE_DIR, 'whoosh_index

    71510编辑于 2022-09-13
  • 来自专栏python前行者

    python全文搜索库Whoosh

    官方文档:https://whoosh.readthedocs.io/en/stable/ pypi:https://pypi.python.org/pypi/Whoosh/#downloads 安装 pip install Whoosh Whoosh是一个纯python的全文搜索库 Whoosh官方文档介绍如下, Whoosh is a library of classes and functions 例如,如果你在写博客选择(或者说博客搜索)程序,你可以用Whoosh添加一个让用户搜索博客条目的函数 因为做的是中文的全文检索需要导入jieba工具包以及whoosh工具包 Schema 有两个field ) 如果你不需要给任何field type传值,你可以只给类名 ,whoosh会为你初始化该对象 from whoosh.fields import Schema, STORED, ID, KEYWORD whoosh.fields.BOOLEAN 这个类型存储bool型 whoosh.fields.DATETIME 这个类型为 datetime object而设计更多详细信息 whoosh.fields.NGRAM

    1.7K00发布于 2020-01-13
  • 来自专栏进击的Coder

    Whoosh:Python 的轻量级搜索工具

    Whoosh 简介   Whoosh 由 Matt Chaput 创建,它一开始是一个为 Houdini 3D 动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源 Whoosh 纯由 Python 编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持 Python2、3,其优点如下: Whoosh 纯由 Python 编写而成,但很快,只需要 Python Whoosh 的官方介绍网站为:https://whoosh.readthedocs.io/en/latest/intro.html 。 如果你有 ES 方面的经验,那么,对于 Whoosh 是十分容易上手的。   按照笔者的理解以及 Whoosh 的官方文档,Whoosh 的入门使用主要是 index 以及 query。 关于 Whoosh 的使用,在官文文档中已经给出了详细的说明,笔者在这里只给出一个简单的例子,来说明 Whoosh 如何能方便地提升我们的搜索体验。

    1.3K30编辑于 2022-07-19
  • 来自专栏数据科学

    python轻量级中文搜索whoosh

    初始化索引目录和scheme¶ In [1]: import os from whoosh.index import create_in from whoosh.fields import * from In [2]: from whoosh.filedb.filestore import FileStorage storage = FileStorage(ix_path) #idx_path 为索引路径 (indexname=ix_name) # 按照schema定义信息,增加需要建立索引的文档 # 注意:字符串格式需要为unicode格式 with ix.writer() as w: # from whoosh.writing

    2.2K30发布于 2018-12-20
  • 来自专栏Python无止境

    Whoosh:Python 的轻量级搜索工具

    Whoosh简介   Whoosh由Matt Chaput创建,它一开始是一个为Houdini 3D动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源。    不需要编译器; 默认使用 Okapi BM25F排序算法,也支持其他排序算法; 相比于其他搜索引擎,Whoosh会创建更小的index文件; Whoosh中的index文件编码必须是unicode; Whoosh Whoosh的官方介绍网站为:https://whoosh.readthedocs.io/en/latest/intro.html 。 如果你有ES方面的经验,那么,对于Whoosh是十分容易上手的。   按照笔者的理解以及Whoosh的官方文档,Whoosh的入门使用主要是index以及query。 关于Whoosh的使用,在官文文档中已经给出了详细的说明,笔者在这里只给出一个简单的例子,来说明Whoosh如何能方便地提升我们的搜索体检。

    3.3K20发布于 2019-12-06
  • 来自专栏北京马哥教育

    原创投稿 | 如何为Django添加中文搜索服务

    开始使用 简单版本 使用whoosh作为后端索引存储(基于文件系统),该操作参考官方文档即可。 /whoosh_backend.py)拷贝到你创建的应用下面,并重命名为whoosh_cn_backend.py,例如blog/whoosh_cn_backend.py。 编辑blog/whoosh_cn_backend.py导入中文分析库ChineseAnalyzer 修改blog/whoosh_cn_backend.py大概163行位置 2、在settings.py中修改之前使用的默认的 升级版本 由于whoosh是基于文件系统的,所有在索引数据量过大时必然引起性能问题。 部分代码 urls.py: views.py: 总结: 通过对比两种方式,可以发现: whoosh使用jieba分词做处理,然后基于文件存储。

    1.2K100发布于 2018-05-03
  • 来自专栏Devops专栏

    Django 2.1.7 全文检索

    whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用,点击查看 whoosh文档。 因为这里演示是使用whoosh,所以下面是关于whoosh作为后端的示例: HAYSTACK_CONNECTIONS = { 'default': { #使用whoosh引擎 我 爱 中国 In [7]: 下面来改写whoosh的后端文件。 文件,改为如下名称whoosh_cn_backend.py ?

    1K30发布于 2019-09-20
  • 来自专栏菜菜的技术博客

    Django添加全文检索功能

    haystack是django的开源搜索框架,该框架支持Solr、 Elasticsearch、 Whoosh、Xapian搜索引擎,其中whoosh是纯python编写的全文检索引擎,在实际操作过程中可以结合 haystack官方网站 whoosh文档 1.安装包 在Django虚拟环境中安装django-haystack和whoosh包 pip install django-haystack==2.5.0 引擎 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', # 索引文件路径 'PATH' : os.path.join(BASE_DIR, 'whoosh_index'), } } # 当添加、修改、删除数据时,自动生成索引 HAYSTACK_SIGNAL_PROCESSOR = ' 文件为whoosh_cn_backend.py cp whoosh_backend.py whoosh_cn_backend.py 打开whoosh_cn_backend.py文件,引入ChineseAnalyzer

    1K10编辑于 2022-11-15
  • 来自专栏sktj

    flask whooshee实现全文搜索(flask 85)

    app = Flask(name) whooshee = Whooshee(app) 属性 Option Description WHOOSHEE_DIR The path for the whoosh WHOOSHEE_MIN_STRING_LEN Min. characters for the search string (defaults to 3) WHOOSHEE_WRITER_TIMEOUT How long should whoosh to False) WHOOSHEE_ENABLE_INDEXING Specify whether or not to actually do any operations with the Whoosh ( entry_id = whoosh.fields.NUMERIC(stored=True, unique=True), user_id = whoosh.fields.NUMERIC(stored =True), username = whoosh.fields.TEXT(), title = whoosh.fields.TEXT(), content = whoosh.fields.TEXT

    1.9K30发布于 2019-08-21
  • 来自专栏卓越笔记

    django-haystack 全文检索配置

    中文分词 Jieba,由于 Whoosh 自带的是英文分词,对中文的分词支持不是太好,故用 jieba 替换 whoosh 的分词组件。 /whoosh_backend.py)拷贝到 app下面,并重命名为 whoosh_cn_backend.py,例如blog/whoosh_cn_backend.py。 Whoosh'. from whoosh.fields import ID as WHOOSH_ID from whoosh.fields import BOOLEAN, DATETIME, IDLIST, KEYWORD from whoosh.highlight import highlight as whoosh_highlight from whoosh.highlight import ContextFragmenter

    1.4K30编辑于 2023-02-17
  • 来自专栏人人都是架构师

    Whose:轻量级搜索引擎工具

    # Whoosh 简介 Whoosh 由 Matt Chaput 创建,它一开始是一个为 Houdini 3D 动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源 Whoosh 纯由 Python 编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持 Python2、3,其优点如下: Whoosh 纯由 Python 编写而成,但很快,只需要 Python Whoosh 的官方介绍网站为:https://whoosh.readthedocs.io/en/latest/intro.html 。 如果你有 ES 方面的经验,那么,对于 Whoosh 是十分容易上手的。 按照笔者的理解以及 Whoosh 的官方文档,Whoosh 的入门使用主要是 index 以及 query。 关于 Whoosh 的使用,在官文文档中已经给出了详细的说明,笔者在这里只给出一个简单的例子,来说明 Whoosh 如何能方便地提升我们的搜索体验。

    43500编辑于 2025-01-18
  • 来自专栏小网管的运维之路

    django - 中文分词搜索

    、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看官方网站 whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc等 ,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用 whoosh文档 jieba:一款免费的中文分词包,如果觉得不好用可以使用一些收费产品 jieba文档 安装模块 pip whoosh_cn_backend.py 添加内容 whoosh_cn_backend.py import jieba from whoosh.analysis import Tokenizer, Token 'haystack', ) #更改分词引擎 HAYSTACK_CONNECTIONS = { 'default': { #使用whoosh引擎 'ENGINE ': 'haystack.backends.whoosh_cn_backend.WhooshEngine', #索引文件路径 'PATH': os.path.join(BASE_DIR

    1.3K40发布于 2019-05-29
  • 来自专栏技术向

    django设置全文搜索引擎

    app路径下(我这里的app文件夹是viewer): search_indexes.py whoosh_cn_backend.py 这两个文件名不需要做变动。 如果是英文搜索,直接参考官方教程即可;如果是中文搜索,参考脚本之家的教程,改成whoosh_cn_backend.py所在的路径。 比如,我的whoosh_cn_backend.py在viewer路径下,就可以修改为: HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'viewer.whoosh_cn_backend.WhooshEngine', 'PATH': os.path.join(BASE_DIR, 'whoosh_index from haystack.views import SearchView from django.http import QueryDict class whoosh_search(SearchView

    98310发布于 2019-11-21
  • 来自专栏Lansonli技术博客

    Django 全文检索6.3

    全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:django的一个包,可以方便地对model里面的内容进行索引、搜索,设计为支持whoosh ,solr,Xapian,Elasticsearc四种全文检索引擎后端,属于一种全文检索的框架 whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc 等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用 jieba:一款免费的中文分词包,如果觉得不好用可以使用一些收费产品 操作 1.在虚拟环境中依次安装包 pip install django-haystack pip install whoosh pip install jieba 2.修改settings.py文件 添加应用 INSTALLED_APPS = ( . ', 'PATH': os.path.join(BASE_DIR, 'whoosh_index'), } } #自动生成索引 HAYSTACK_SIGNAL_PROCESSOR

    76910发布于 2021-10-09
  • 来自专栏州的先生

    纯Python方案实现中英文全文搜索

    最常见的开源全文搜索引擎是 Elasticsearch,功能强大、性能强悍,但是其基于 Java 进行编写,在 Python 中使用不是很方便,最终州的先生选择了纯 Python 实现的全文搜索引擎——whoosh whoosh pip install django-haystack pip install jieba settings 配置 首先需要在 Django 项目的 settings.py 文件中进行配置 创建完中文分词器之后,我们就可以自定义 whoosh 的搜索引擎了。 自定义 whoosh 搜索引擎 在 /MrDoc/app_doc/search 目录下新建一个名为 whoosh_cn_backend.py 的文件(这个路径文件即是我们在 settings.py 文件中指定的引擎路径 ),复制 python 安装路径\Lib\site-packages\haystack\backends\whoosh_backend.py 的内容到这个文件中,并做如下修改: from whoosh.analysis

    1.7K20发布于 2020-12-07
  • 来自专栏菲宇

    使用django-haystack实现全文检索

    ,Whoosh, *Xapian*搜索引擎,不用更改代码,直接切换引擎,减少代码量。 中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替换whoosh的分词组件。    为使用的引擎必须要有,如果引擎是Whoosh,则PATH必须要填写,其为Whoosh 索引文件的存放文件夹。 这个APP下     并重命名为whoosh_cn_backend.py,例如article/whoosh_cn_backend.py。    ', #article.whoosh_cn_backend便是你刚刚添加的文件 'PATH': os.path.join(BASE_DIR, 'whoosh_index'

    1.6K30发布于 2019-06-13
  • 来自专栏数据云团

    Django实战-番外篇-haystack全文检索

    haystack 是 django 的开源搜索框架,该框架支持 Solr、Elasticsearch、Whoosh、Xapian 搜索引擎,不用更改代码,直接切换引擎。 搜索引擎使用 Whoosh,这是一个由纯 python 实现的全文搜索引擎,没有二进制文件等,比较小巧,配置比较简单。 需要设置 PATH 到 项目的 Whoosh 所有的文件系统的位置。 HAYSTACK_CONNECTIONS = { 'default': { # 使用whoosh引擎 'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine ', # 索引文件路径 'PATH': os.path.join(BASE_DIR, 'whoosh_index'), } } 使用python manage.py

    1.8K10发布于 2019-07-18
  • 来自专栏python3

    Django—第三方引用

    haystack:全文检索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看官方网站。 whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sphinx、xapian、Elasticsearc等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用,点击查看 whoosh文档。 HAYSTACK_CONNECTIONS = { 'default': { #使用whoosh引擎 'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine whoosh_cn_backend.py 6)打开复制出来的新文件,引入中文分析类,内部采用jieba分词。

    1.5K10发布于 2020-01-16
  • 来自专栏Django中文社区

    Django Haystack 全文检索与关键词高亮

    安装必要依赖 要使用 django haystack,首先必须安装它,并且安装一些必要的依赖,具体需要安装的依赖有: WhooshWhoosh 是一个由纯 Python 实现的全文搜索引擎,没有二进制文件等,比较小巧,配置简单方便。 jieba 中文分词。 由于 Whoosh 自带的是英文分词,对中文的分词支持不是太好,所以使用 jieba 替换Whoosh 的分词组件。 </head> 修改搜索引擎为中文分词 我们使用 Whoosh 作为搜索引擎,但在 django haystack 中为 Whoosh 指定的分词器是英文分词器,可能会使得搜索结果不理想,我们把这个分词器替换成 从你安装的 haystack 中把 haystack/backends/whoosh_backends.py 文件拷贝到 blog/ 下,重命名为 whoosh_cn_backends.py(之前我们在

    2.5K80发布于 2018-04-17
领券