1、安装模块
pipinstalldjango -将APP应用程序添加到haystackpipinstallwhooshpipinstalljieba 2和settings
INSTALLED_APPS=['haystack'] 3,引入全文路由
将代码添加到urls.py
from haystack.viewsimportsearchviewurlpatterns=[ URL (' search/',searchview ),name='search ',] 4,创建索引类
在APP应用程序目录下创建新的search_indexes.py
fromhaystackimportindexesfrom.modelsimportpostclasspostindex (indexes.searchindex,indexes.indexable ) (: text=indext use_template=True ) defget_model ) self ) 3336 using=none (: return self.get _ model ).objects.all ) 5,
在templates/search/indexes/APP应用程序名称/目录下创建模型类名_text.txt文件。 这里列出了要搜索哪些列的内容
{ { object.title } } { { object.summary } } { { object.body } } 6、配置搜索引擎和jieba分词
libsite -复制packageshaystackbackendswhoosh _ back end.py文件,将其粘贴到APP应用程序目录(此处为blog )中,然后单击whoosh _ _ back
将fromjieba.analyseimportchineseanalyzer搜索analyzer=StemmingAnalyzer ()更改为analyzer=ChineseAnalyzer ),并由settings配置
haystack _ connections={ ' default ' : { ' engine ' :应用名称. whoosh_cn_backend.WhooshEngine ', ' path': }#配置搜索结果分页haystack _ search _ results _ per _ page=配置10 #索引haystack _ signal _ processor=' haystack
无法修改name='q '
form role=' search ' method=' get ' id=' search form ' action='/search/' input type=' search ' placeholder='搜索'
在templates/search目录中创建新的search.html
找到{ % if query % } { % forpostinpage.object _ list % } Li { { post.object.title }/Li { % empty % }内容{%endfor%}