pip install django-haystack
pip install whoosh
pip install jieba

1:将Haystack添加到settings.py中的INSTALLED_APPS中:
INSTALLED_APPS = [

.......
.......
'HAYSTACK',
'YOUR APP1',
'YOUR APP2'

]
2:在你的settings.py中添加一个设置来指示站点配置文件正在使用的后端,以及其他的后端设置。
HAYSTACK——CONNECTIONS是必需的设置,并且应该至少是以下的一种:
solr
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
        'URL': 'http://127.0.0.1:8983/solr'
        # ...or for multicore...
        # 'URL': 'http://127.0.0.1:8983/solr/mysite',
},
}
ElasticSearch:
HAYSTACK_CONNECTIONS = {
  "default": {
        'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
}
}

Whoosh:
HAYSTACK_CONNECTIONS = {
  "default": {
        'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
        'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index')
}
}

  # 自动更新索引

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor
whosh是纯python编写的

用jaba分词替换haystack的默认分词

在安装目录(seit-packages) 下找到 haystack
cd haystack/backends
新健一个文件 ChineseAnalyzer.py
import jieba
from whoosh.analysis import Tokenizer, Token
class ChineseTokenizer(Tokenizer):
  def __call__(self, value, positions=False, chars=False, keeporiginal=False, removestops=True, mode='', **kwargs):
  t = Token(positions, chars, removestops=removestops, mode=mode, **kwargs)
  seglist = jieba.cut(value, cut_all=True)
  for w in seglist:
    t.original = t.text = w
    t.boost = 1.0
    if positions:
      t.pos = start_pos + value.find(w)
    if chars:
      t.startchar = start_char + value.find(w)
      t.endchar = start_char + value.find(w) + len(w)
    yield t
def ChinesAnalyzer():
  return ChineseTokenizer() 


cp whoosh_backend.py whoosh_cb_backend.py 复制一份 whoosh_backend.py
打开 whoosh_cb_backend.py 
写入 from .ChineseAnalyzer import ChineseAnalyzer
更改词语分类
查找 TEXT(STORED=True, analyzer=StemmingAnalyzer(), ...)
修改为 TEXT(STORED=True, analyzer=ChineseAnalyzer(), ...)
settings 配制修改
HAYSTACK_CONNECTIONS = {
  "default": {
        'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine',
        'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index')
}
}
重新生成索引
python manage.py rebuild_index