python-django项目基础-haystack&whoosh&jieba_20191124
全文检索框架和搜索引擎的安装和配置:
- 安装全文检索框架,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的更多相关文章
- Python(Django)项目与Apache的管理
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- Python(Django)项目与Apache的管理交互
(开开心心每一天~ ---虫瘾师) Python(Django)项目交给Apache的管理(一) 准备:Django的环境(Python).Apache.Wsgi(必须文件) 首先需要电脑有Pytho ...
- Python Django项目日志查询系统
该项目适合中小型公司日志查询工作.大型公司可以使用elk等.该系统其实就是调用了absible命令去查日志,然后把输出的信息输到页面查看. 日志查询系统 维护手册 作者:陈土锋 日期:2020年6月1 ...
- 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识
---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...
- 小试VS 2017 开发Python Django项目过程一
一.新建项目python ->django web 项目 (选择带bootstrap风格与twwriter)项目名称iepiececomputing (ie计件计算)跳出窗体 -> 添加虚 ...
- Python Django项目部署 Linux 服务器
项目依赖: Linux Centos7 (阿里云轻量级服务器) + Python 3.7.2 + Django 2.2.1 + restframework 3.9.4 + mysql 5.7 1 安装 ...
- python - django 项目部署 Ubuntu 服务器后接口访问一直 502 问题
问题描述:最近有了一台 Ubuntu 的服务器,然后准备部署个项目,结果没想到部署的过程跟用 Centos 的时候还有点不一样,最后一步我是卡在了 uwsgi 这里,访问一直502,且可以访问项目的静 ...
- python django项目创建及前期准备(使用pycharm)
一.创建django项目 1.打开pycharm软件 2.点击菜单栏 File-->New Project,弹出如下对话框,如下图设置 二.基本配置 1.静态文件目录配置(用于客户端访问后台服务 ...
- Django项目基础配置和基本使用
博文配置内容包括: django项目的创建 django项目下应用的创建及配置 数据库的配置 templates模板的配置 命令行创建项目: 在需要的目录下创建Django项目输入命令:django- ...
随机推荐
- opencv摄像头捕获视频
1.ord()函数:它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 ...
- 关于scala工程结构(使用sbt)
scala_project:常用目录结构: |lib:手动添加依赖包 |project | |build.properties:build的版本号,可以不写,会自动下载 | |plugins.sbt: ...
- 17.3.12--smtplib模块发送邮件__抄送,安装与下载
1-----在日常编程中,经常会用到处理email,发送,接收,抄送,下载邮件内容等操作,这时候就需要用Python的smtplib模块 smtplib与Email服务器(server)相互通信来传送 ...
- vue实现简单的过滤器
html片段: <script src="https://unpkg.com/vue"></script> <div id="app&quo ...
- python装饰器的参数传递
被装饰器装饰的函数名即使没有被调用(因为有@xxx,会触发运行装饰器),(装饰器工厂函数)定义装饰器的代码已经运行了(最内部的那个函数并没有运行)(把被装饰的原函数引用赋值给了装饰器内部的那个函数名) ...
- Anaconda Installation on Mac: conda command not found 环境变量配置
Mac系统安装完Anaconda 3.7后在terminal输入conda --version,返回command not found 原因可能是没有配置环境变量 在terminal输入vi ~/.b ...
- Java之解决线程安全问题的方式三:Lock锁
import java.util.concurrent.locks.ReentrantLock; /** * 解决线程安全问题的方式三:Lock锁 --- JDK5.0新增 * * 1. 面试题:sy ...
- Go-简介-发展
01-Go语言介绍 目录 Go语言介绍 Go语言特性 Go语言发展(版本/特性) Go语言应用 谁在用 应用领域 Go语言项目 Go语架构 Go语言发展前景 Go语言介绍 Go 即Golang,是Go ...
- c#学习笔记02——接口
本身并不实现功能,但提供一种模板定义,为从它继承类或结构提供了一种定义的规范 有了接口,程序员可以把程序定义的更积极啊清晰和条理化 理解接口 接口支持多继承:抽象类不能实现多继承 接口只能定义抽象规则 ...
- ansible puppet saltstack三款自动化运维工具的对比
一.基础介绍 ansible基础介绍可参考:http://www.linuxidc.com/Linux/2017-12/149671.htm puppet基础介绍可参考:http://www.linu ...