django中实现全文检索(haystack+jieba+whoosh)支持中文

什么是haystack?

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

什么是jieba?

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

什么是whoosh?

Python的全文搜索库,Whoosh是索引文本及搜索文本的类和函数库
Whoosh 自带的是英文分词,对中文分词支持不太好,使用 jieba 替换 whoosh 的分词组件。

配置

安装

pip install django-haystack
pip install whoosh
pip install jieba

以下是我配置的时候出现的问题:
pip django-haystack时报错
报错ImportError: cannot import name ‘six’ from ‘django.utils’

在settins.py中配置

# 注册
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # haystack要放在应用的上面
    'haystack',
    'jsapp',    # 这个jsapp是自己创建的app
]

'''配置haystack '''
# 全文检索框架配置
HAYSTACK_CONNECTIONS = {
    'default': {
        # 指定whoosh引擎
        'ENGINE': 'haystack.backends.whoosh_backe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值