全文检索框架

第一步:安装全文检索框架django-haystack

pip3 install django-haystack

第二步:安装搜索引擎

pip3 install whoosh

第三步:在settings配置app

INSTALLED_APPS = [    ‘django.contrib.admin‘,    ‘django.contrib.auth‘,    ‘django.contrib.contenttypes‘,    ‘django.contrib.sessions‘,    ‘django.contrib.messages‘,    ‘django.contrib.staticfiles‘,    ‘haystack‘ #全文检索框架    ‘movie.apps.MovieConfig‘,]
# 全文检索框架的配置HAYSTACK_CONNECTIONS = {    ‘default‘: {        # 使用whoosh引擎        ‘ENGINE‘: ‘haystack.backends.whoosh_backend.WhooshEngine‘,        # 索引文件路径(不需要手动建,会自动建)        ‘PATH‘: os.path.join(BASE_DIR, ‘whoosh_index‘),    }}

# 当添加、修改、删除数据时,自动生成索引HAYSTACK_SIGNAL_PROCESSOR = ‘haystack.signals.RealtimeSignalProcessor‘

# 指定搜索结果每页显示的条数HAYSTACK_SEARCH_RESULTS_PER_PAGE = 1

第 4 步:定义索引类
# 定义索引类from haystack import indexes# 导入你的模型类from movie.models import Movie

# 指定对于某个类的某些数据建立索引# 索引类名格式:模型类名+Indexclass MovieIndex(indexes.SearchIndex, indexes.Indexable):    # 索引字段 use_template=True指定根据表中的哪些字段建立索引文件的说明放在一个文件中    text = indexes.CharField(document=True, use_template=True)use_template=True说明在template文件下建索引文件

    def get_model(self):        # 返回你的模型类        return Movie

    # 建立索引的数据    def index_queryset(self, using=None):        return self.get_model().objects.all()

第五步:建立索引文件

在template文件下建索引文件,

第6步:在索引文件goodssku_text.txt文件中写按照什么字段搜索

第7步:

第八步:使用全文检索

第9步:配置URL

第10步

第11步,更改分词方式:改为结巴分词

原文地址:https://www.cnblogs.com/jingandyuer/p/11297812.html

时间: 2024-10-08 20:30:35

全文检索框架的相关文章

全文检索框架Haystack,与 Whoosh搜索引擎的搭配以及相关配置

1. 安装Django项目下使用的django-haystack包, 以及搜索引擎whoosh包 pip install django-haystack pip install whoosh 2. Django项目文件中, settings添加haystack配置 # 全文检索框架的配置(haystack) HAYSTACK_CONNECTIONS = { 'default': { # 选择引擎(haystock包内的backend后端文件夹选中whoosh的相关配置文件的Engine函数) '

Solr全文检索框架

概述: 什么是Solr? Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.tomcat.webLogic.webShell等这些Servlet容器中. 全文检索服务(也叫做全文搜索):  服务    是War包. ES框架 也是基于Lucene,Lucene(是工具包   jar) 服务器:   Tomcat  Jetty(内嵌服务器)  免费的(私企) WebLogic(Oracle)政府    Oracle

Haystack全文检索框架中使用jieba分词包

1.安装jieba pip install jieba 2.引入jieba cd 到haystack安装目录backends下, 新建文件ChineseAnalyzer.py,键入内容 import jieba from whoosh.analysis import Tokenizer, Token class ChineseTokenizer(Tokenizer): def __call__(self, value, positions=False, chars=False, keeporig

开源框架

基于.NET平台常用的框架整理 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库. 常用的一些开源组件整理: 导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现)(nopi.css.dl通过css设置样式) 开源的作业调度和自动任务框架:Quartz.NET 微软针对企业

Lucene全文检索入门体验

Lucene是Apache开源的全文检索框架, 是单纯的搜索工具, 简单易用. 现在已经出到5.2.1的版本, 只需在项目中导入必需的几个jar包就能使用. 使用的过程可以概括为, 1)  建立索引 2) 搜索查找, 获取搜索结果 这里我们一起先来学习几个会用到的核心类: Directory 该类在Lucene中用于描述索引存放的位置信息. 比如: Directory dir = FSDirectory.open(Paths.get("c:\\lucene\\index")); 其中&

python搜索引擎和框架

1.安装全文检索包 # 全文检索框架 pip install django-haystack # 全文检索引擎 pip install whoosh # 中文分词框架 pip install jieba heystack一些配置都是固定写好的,需要注意下 2.配置全文检索 1.安装haystack应用 INSTALLED_APPS = ( ... 'haystack', ) 2.在settings.py文件中配置搜索引擎 # 配置搜索引擎后端 HAYSTACK_CONNECTIONS = { '

全文检索的配置

全文检索不同于特定字段的模糊查询,使用全文检索的效率再高,并且能够对于中文进行分词处理. haystack:全文检索框架,支持whoosh.solr.Xaplan.Elasticsearc四种全文检索引擎 whoosh:纯python编写的全文搜索引擎,虽然 性能比不上sphinx.xapian.elasticsearc等,但是无二进制包,程序不会莫名其妙的崩溃,对于小型的站点,whoosh已经足够使用, jieba:中文分词包 安装包: pip install django-haystackp

Django框架项目-电商web(未前后分离)

项目:电商订购网站 所用到框架: 语言:Python3.6.8 (Django==1.11.1) 数据库: MySql. redis 任务队列(异步处理): celery 分布式文件存储: FastDFS或者本地都行 搜索引擎(商品检索): django-haystack .whoosh web服务器配置: Nginx+ uwsgi 后台管理: django-admin 实现功能:用户模块,商品相关,购物车相关,订单相关 1. 需求分析 1.1 用户模块 注册页 注册时校验用户名是否已被注册.

Elasticsearch框架基础概念

Elasticsearch(ES)是一个基于Lucene构建开源分布式搜索引擎并提供Restful接口. Es是一个分布式文档数据库(JSON数据格式存储,类似MongoDB),JSON中的每个字段数据都可作为搜索条件,并且能够扩展至数以百计的服务器存储以及处理PB(PetaByte)级的数据.可在短时间内存储.搜索和分析大量的数据. PB级级别: 拍字节(Petabytes),计算机存储容量单位,也常用PB来表示.1PB=1024TB==2^50字节. Es优势: 横向可扩展性: 只需增加服务