最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞

 更新時(shí)間:2020年04月08日 09:05:10   作者:SyntaxError  
這篇文章主要介紹了Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

本文介紹了Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞,分享給大家,具體如下:

Django版本:3.0.4
python包準(zhǔn)備:

pip install django-haystack
pip install jieba

使用jieba分詞

1.cd到site-packages內(nèi)的haystack包,創(chuàng)建并編輯ChineseAnalyzer.py文件

# (注意:pip安裝的是django-haystack,但是實(shí)際包的文件夾名字為haystack)
cd /usr/local/lib/python3.8/site-packages/haystack/backends/
# 創(chuàng)建并編輯ChineseAnalyzer.py文件
vim ChineseAnalyzer.py

2.修改ChineseAnalyzer.py文件內(nèi)容

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()

3.替換分詞器

cp whoosh_backend.py whoosh_cn_backend.py
vim whoosh_cn_backend.py
# 導(dǎo)入ChineseAnalyzer,并將原有的StemmingAnalyser替換為ChineseAnalyzer
from .ChineseAnalyzer import ChineseAnalyzer
# from whoosh.analysis import StemmingAnalyzer

vim替換命令: %s/StemmingAnalyzer/ChineseAnalyzer/g

4.修改setting.py文件

# 全文搜索框架配置
HAYSTACK_CONNECTIONS = {
  'default': {
   # 使用whoosh引擎
   # 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
   # 使用jieba分詞
    'ENGINE': 'haystack.backends.whoosh_cn_backend.WhooshEngine',
   # 索引文件路徑
    'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
  },
}

5.重新建立索引

python manage.py rebuild_index

  可以看到,已經(jīng)使用了jieba分詞。

到此這篇關(guān)于Django實(shí)現(xiàn)whoosh搜索引擎使用jieba分詞的文章就介紹到這了,更多相關(guān)Django jieba分詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用

    Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用

    這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python三維繪圖之Matplotlib庫(kù)的使用方法

    Python三維繪圖之Matplotlib庫(kù)的使用方法

    這篇文章主要給大家介紹了關(guān)于Python三維繪圖之Matplotlib庫(kù)的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 關(guān)于 Python json中l(wèi)oad和loads區(qū)別

    關(guān)于 Python json中l(wèi)oad和loads區(qū)別

    這篇文章主要介紹了關(guān)于 Python json中l(wèi)oad和loads區(qū)別,文章也有簡(jiǎn)單的說(shuō)明它們之間的相同點(diǎn),然后詳細(xì)介紹不同點(diǎn),需要的朋友可以參考一下文章的具體內(nèi)容
    2021-11-11
  • python使用正則表達(dá)式(Regular Expression)方法超詳細(xì)

    python使用正則表達(dá)式(Regular Expression)方法超詳細(xì)

    這篇文章主要介紹了python使用正則表達(dá)式(Regular Expression)方法超詳細(xì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python 打印自己設(shè)計(jì)的字體的實(shí)例講解

    Python 打印自己設(shè)計(jì)的字體的實(shí)例講解

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于Python 打印自己設(shè)計(jì)的字體的實(shí)例講解內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2021-01-01
  • Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時(shí)間格式的方法

    Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時(shí)間格式的方法

    這篇文章主要介紹了Python 如何優(yōu)雅的將數(shù)字轉(zhuǎn)化為時(shí)間格式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python利用PyAutoGUI輕松搞定圖片上傳

    Python利用PyAutoGUI輕松搞定圖片上傳

    PyAutoGUI作為一個(gè)GUI操作的神器,我們看到了它的操作都很簡(jiǎn)單,非常通俗易懂,基本上看到函數(shù)就能知道它的功效。本文將用它實(shí)現(xiàn)圖片上傳功能,感興趣的可以了解一下
    2022-09-09
  • Python利用3D引擎做一個(gè)太陽(yáng)系行星模擬器

    Python利用3D引擎做一個(gè)太陽(yáng)系行星模擬器

    Python有一個(gè)不錯(cuò)的3D引擎——Ursina。本文就來(lái)利用Ursina這一3D引擎做一個(gè)太陽(yáng)系行星模擬器,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • Python中的字典及其使用方法

    Python中的字典及其使用方法

    這篇文章主要介紹了Python中的字典及其使用方法,包括使用字典(添加、刪除、修改等操作)、遍歷字典以及字典與列表之間的嵌套使用具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • Django教程筆記之中間件middleware詳解

    Django教程筆記之中間件middleware詳解

    Django 中的中間件(middleware),是一個(gè)鑲嵌到Django的request/response處理機(jī)制中的一個(gè)hooks框架,是一個(gè)修改django全局輸入輸出的一個(gè)底層插件系統(tǒng)。這篇文章主要給大家介紹了關(guān)于Django教程筆記之中間件middleware的相關(guān)資料,需要的朋友可以參考下
    2018-08-08

最新評(píng)論

沈丘县| 清镇市| 绥中县| 内江市| 宝丰县| 呼伦贝尔市| 榕江县| 肥东县| 宜君县| 涟水县| 鲁甸县| 岢岚县| 三台县| 大宁县| 利辛县| 清远市| 东乡族自治县| 伊宁县| 乐山市| 娱乐| 临武县| 杂多县| 瑞安市| 新干县| 祁东县| 伊宁市| 邹平县| 郎溪县| 永仁县| 万宁市| 理塘县| 临桂县| 綦江县| 开封市| 象山县| 青浦区| 香港 | 象山县| 博兴县| 博白县| 泸州市|