pip install django-haystack
pip install whoosh
pip install jieba
...
'haystack',
)
#coding=utf-8
...haystack_connections =
}#當新增、修改、刪除資料時,自動生成索引
haystack_signal_processor = 'haystack.signals.realtimesignalprocessor'
url(r'^search/', include('haystack.urls')),
#coding=utf-8
from haystack import indexes
from models import goodsinfo
#指定對於某個類的某些資料建立索引
#指定索引的屬性
}
/home/python/.virtualenvs/py_django/lib/python2.7/site-packages/haystack/backends/
import jieba
from whoosh.analysis import tokenizer, token
class chinesetokenizer(tokenizer):
def __call__(self, value, positions=false, chars=false,
keeporiginal=false, removestops=true,
start_pos=0, start_char=0, 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 chineseanalyzer():
return chinesetokenizer()
whoosh_cn_backend.py
from .chineseanalyzer import chineseanalyzer
查詢
analyzer=stemminganalyzer()
改為analyzer=chineseanalyzer()
檢視接收的引數如下:
全文檢索 Django
全文檢索不同於特定欄位的模糊查詢,使用全文檢索的效率更高,並且能夠對於中文進行分詞處理 haystack django的乙個包,可以方便地對model裡面的內容進行索引 搜尋,設計為支援whoosh,solr,xapian,elasticsearc四種全文檢索引擎後端,屬於一種全文檢索的框架 who...
Django全文檢索
最常見的全文檢索就是我們在資料庫進行的模糊查詢,但是模糊查詢是針對整體的內容的乙個動態匹配過程,在資料量較大的情況下匹配效率極低,常規專案中資料量一般都比較多並且內容繁雜,所以正常的專案搜尋功能中很少使用模糊查詢進行操作 python提供了各種全文檢索的模組,最常見的如haystack模組進行全文檢...
django 實現全文檢索
全文檢索不同於特定欄位的模糊查詢,使用全文檢索的效率再高,並且能夠對於中文進行分詞處理。安裝包 pip install django haystack pip install whoosh pip install jieba修改settings檔案 haystack 全文檢索框架 全文檢索框架的配置...