什么是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