django搜索服务器文件,django haystack实现全文检索的示例代码

本文介绍了Django的开源搜索框架Haystack,它支持Solr、Elasticsearch、Whoosh和Xapian搜索引擎。在中文搜索场景中,由于Whoosh对中文分词支持不佳,文章推荐使用jieba进行分词替换。详细步骤包括安装相关包,配置settings.py,创建索引文件,并提供了一个使用jieba分词的示例。此外,还介绍了如何在前后端分离的架构中配置haystack。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全文检索里的组件简介

1. 什么是haystack?

1. haystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh, *Xapian*搜索引擎,不用更改代码,直接切换引擎,减少代码量。

2. 搜索引擎使用Whoosh,这是一个由纯Python实现的全文搜索引擎, 没有二进制文件等,比较小巧,配置比较简单,当然性能自然略低。

3. 中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替换whoosh的分词组件

2. 什么是jieba?

很多的搜索引擎对中的支持不友好,jieba作为一个中文分词器就是加强对中文的检索功能

3. Whoosh是什么

1. Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库

2. Whoosh 自带的是英文分词,对中文分词支持不太好,使用 jieba 替换 whoosh 的分词组件。

haystack配置使用(前后端分离)

1. 安装需要的包

2. 在setting.py中配置

3. 定义数据库

索引文件生成

1. 在子应用下创建索引文件

在子应用的目录下,创建一个名为 myapp/search_indexes.py 的文件

2.指定索引模板文件

创建文件路径命名必须这个规范:templates/search/indexes/应用名称/模型类名称_text.txt

如:

templates/search/indexes/myapp/articlepost_text.txt

1-200624105934.png

3.使用命令创建索引

替换成jieba分词

1.将haystack源码复制到项目中并改名

1-200624105935.png

索引文件使用

1. 编写视图

到此这篇关于django haystack实现全文检索的示例代码的文章就介绍到这了,更多相关django haystack 全文检索内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.youkuaiyun.com/m0_47202787/article/details/106879844

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值