Django搜尋工具 全文檢索

2021-08-09 22:41:31 字數 2676 閱讀 2717

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 全文檢索框架 全文檢索框架的配置...