全文检索框架和搜索引擎的安装和配置:

  • 安装全文检索框架,pip install django-haystack,
  • 安装搜索引擎,pip install whoosh
  • settings里面配置
  • 1,注册haystack
  • INSTALLED_APPS=[
  • # 注册全文搜索框架
  • 'haystack',
  • ]
  • 2,配置,
  • # 全文检索框架的配置
    HAYSTACK_CONNECTIONS = {
    'default': {
    # 使用whoosh引擎
    # 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
    'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine',
    # 索引文件路径
    'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
    }
    } # 当添加、修改、删除数据时,自动生成索引
    HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

    这是一个路径:

  • 我找到Linux下面的路径:
  • /home/andy/.virtualenvs/lq_py3/lib/python3.5/site-packages/haystack/backends
  • 然后把我Windows下面的文件移动到这个地方,
  • 这里面有jieba分词的代码,

生成索引文件:

  • 搜索的是商品表的数据,
  • 你要有索引文件的生成,最终是需要goossku这个类,新建一个这个类的一个索引类,
  • 在templates下面建立文件夹search,下面建立indexes,这两个文件名都是固定的,
  • 下面再建立goods文件夹,建立索引文件,
  • 现在就可以生成索引数据了,
  • >python manage.py rebuild_index

全文检索的应用:

  • 两个地方,
  • 1,是页面上搜索的地方要有一个提交搜索的目标路径,
  • 2,是后台路由需要配置这个路径,这个是交给haystack来处理的,
  • 还需要一个搜索结果页的html页面,

更改分词的方式:

  • 比如,很不错的草莓,
  • 但是你搜索不错,这是查不到的,
  • 所以默认whoosh里面的引擎,在分解词语的时候分词不好,有些词分的不好,
  • 我们要使用一个中文分词的包,就是jieba分词,这是中文默认的分词,比默认的要好,
  • 这个分词怎么用:
  • 第一步:安装
  • 安装,pip install jieba,
  • 有什么用?下面就是演示:
  • import jieba,
  • srt=‘很不错的草莓’
  • res=jieba.cut(str,cut_all=True)
  • for val in res:
  • print(val)

  • 不错

    草莓

  • 这就是分词的结果,很不错,
  • 那么怎么用呢?
  • 第二步:在haystack目录新建一个文件,
  • 还是进入Linux中,haystack的目录下:
  • /home/andy/.virtualenvs/lq_py3/lib/python3.5/site-packages/haystack/backends
  • 然后把Windows下面的文件ChineseAnalyzer.py复制一份到这个地方,
  • 然后就可以了,
  • 1,安装
  • 2,新建一个文件,
  • 3,修改文件,
  • 4,修改配置,
  • 5,重新建立索引,这次就是使用jieba分词了

python-django项目基础-haystack&whoosh&jieba_20191124的更多相关文章

  1. Python(Django)项目与Apache的管理

    (开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...

  2. Python(Django)项目与Apache的管理交互

    (开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...

  3. Python Django项目日志查询系统

    该项目适合中小型公司日志查询工作.大型公司可以使用elk等.该系统其实就是调用了absible命令去查日志,然后把输出的信息输到页面查看. 日志查询系统 维护手册 作者:陈土锋 日期:2020年6月1 ...

  4. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  5. 小试VS 2017 开发Python Django项目过程一

    一.新建项目python ->django web 项目 (选择带bootstrap风格与twwriter)项目名称iepiececomputing (ie计件计算)跳出窗体 -> 添加虚 ...

  6. Python Django项目部署 Linux 服务器

    项目依赖: Linux Centos7 (阿里云轻量级服务器) + Python 3.7.2 + Django 2.2.1 + restframework 3.9.4 + mysql 5.7 1 安装 ...

  7. python - django 项目部署 Ubuntu 服务器后接口访问一直 502 问题

    问题描述:最近有了一台 Ubuntu 的服务器,然后准备部署个项目,结果没想到部署的过程跟用 Centos 的时候还有点不一样,最后一步我是卡在了 uwsgi 这里,访问一直502,且可以访问项目的静 ...

  8. python django项目创建及前期准备(使用pycharm)

    一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...

  9. Django项目基础配置和基本使用

    博文配置内容包括: django项目的创建 django项目下应用的创建及配置 数据库的配置 templates模板的配置 命令行创建项目: 在需要的目录下创建Django项目输入命令:django- ...

随机推荐

  1. Java之创建线程的方式四:使用线程池

    import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c ...

  2. 100道Java面试题整理(助力2020面试!)

    1.您对微服务有何了解? 微服务,又称微服务 架 构,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 . 通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物.他 ...

  3. ubuntu 插网线无法上网解决方案

    前言 不知道最近是什么情况,ubuntu链接网线总是上不去网,但是wifi还能用,一直也就没有捣鼓,不过今天连wifi都不能用了,只能开始修理了. 修复方案 使用ifconfig命令查看以太网的名称 ...

  4. 每天一杯C_Visual Studio各个版本的区别和总结

    细致区别如上图所示 企业版点满图中技能树,能够提供点对点的解决方案,充分满足正规企业的要求. PS:技能最多,肯定也就价格最贵 专业版中提供的专业开发者工具.服务和订阅就成了最佳选择. PS:技能多, ...

  5. MyBatis 查询结果的缓存

    MyBatis的缓存指的是缓存查询结果,当以后使用相同的sql语句.传入相同的参数进行查询时,可直接从mybatis本地缓存中获取查询结果,而不必查询数据库. mybatis的缓存包括一级缓存.二级缓 ...

  6. [Algo] 132. Deep Copy Undirected Graph

    Make a deep copy of an undirected graph, there could be cycles in the original graph. Assumptions Th ...

  7. Power BI 企业邮箱账户注册

    Power BI 是免费的.但是一些功能需要企业账户才可以实现. 比如在线服务,移动端的服务,图标的市场,都需要注册账户实现. 1. 临时企业邮箱 百度,或谷歌一个临时邮箱.这些邮箱大多都是有使用期限 ...

  8. PowerShell创建 Profile

    profile主要用于个性化常用的函数.别名等等.每次加载powershell的时候,都会执行profile中的内容. 查看是否有profile: $profile 如果结果是false说明没有.则创 ...

  9. [YNOI2018]五彩斑斓的世界&CF896E(分块+并查集)

    由于晚上比赛二连(Atcoder&codeforces),外加复习学考,所以暂时没时间写了. 贴个O(n√n)的分块代码,洛谷和cf上都过了,但垃圾bzoj卡不过去,不改了. #include ...

  10. Python 进阶 - 面向对象

    Python 面向对象 面向过程 把完成某个需求的所有步骤,从头到尾逐步实现 根据开发需求,将某些功能独立的代码封装成一个又一个函数 最后完成的代码,就是顺序地调用不同的函数 面向过程特点: 注重步骤 ...