成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 基于python + django + whoosh + jieba 分詞器實(shí)現(xiàn)站內(nèi)檢索功能

基于python + django + whoosh + jieba 分詞器實(shí)現(xiàn)站內(nèi)檢索功能

熱門標(biāo)簽:ai電銷機(jī)器人源碼 湛江智能外呼系統(tǒng)廠家 長沙高頻外呼系統(tǒng)原理是什么 地圖標(biāo)注審核表 外呼并發(fā)線路 宿遷星美防封電銷卡 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 百度地圖標(biāo)注沒有了 ai電話機(jī)器人哪里好

基于 python django

源碼

前期準(zhǔn)備

安裝庫:

pip install django-haystack
pip install whoosh
pip install jieba

如果pip 安裝超時,可配置pip國內(nèi)源下載,如下:

pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com   安裝的庫>
pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com  django

如果安裝 django-haystack 失敗,先安裝 setuptools_scm .在安裝 django-haystack.

pip install setuptools_scm

項目

 創(chuàng)建項目demo:

# django-admin startproject 項目名>
	django-admin startproject find

切入demo 終端操作,創(chuàng)建app:

# python manage.py startapp APP名>
	python manage.py startapp searchshop

在 settings.py 文件 中的 INSTALLED_APPS 配置 注入 剛才創(chuàng)建APP( 路徑: find/find/settings.py):

INSTALLED_APPS = [
	...
	'searchshop',
	...
]

在創(chuàng)建的APP中添加模型

models.py 文件添加如下(路徑: find/searchshop/models.py):

class Shopp(models.Model):
    shop_name = models.TextField(max_length=200)
    shop_price = models.IntegerField(default=0)
    shop_dsc = models.CharField(max_length=200)

在app 中admin.py文件注冊模型:

admin.py 文件添加如下(路徑: find/searchshop/admin.py):

from .models import Shopp
admin.site.register(Shopp)

執(zhí)行命令,讓模型生效(修改模型時,都要執(zhí)行一次,這樣模型才同步!!!):

python manage.py makemigrations 
python manage.py migrate

創(chuàng)建后臺管理帳號

訪問后臺可操作模型數(shù)據(jù):

 python manage.py createsuperuser

運(yùn)行:

python manage.py runserver

訪問: http:127.0.0.1:8080/admin 登錄剛才設(shè)置帳號,密碼即可進(jìn)入:

搭建站內(nèi)搜索

配置 haystack

在 settings.py 文件 中的 INSTALLED_APPS 配置最底部 注入 haystack( 路徑: find/find/settings.py):

INSTALLED_APPS = [
	...
	'haystack'
]

在app內(nèi),添加 search_indexes.py (目錄:find/searchshop/search_indexes.py):

from haystack import indexes
from .models import Shopp # 之前創(chuàng)建的模型

# 修改此處,類名為模型類的名稱+Index,比如模型類為GoodsInfo,則這里類名為GoodsInfoIndex(其實(shí)可以隨便寫)
class ArticlePostIndex(indexes.SearchIndex, indexes.Indexable):
    # text為索引字段
    # document = True,這代表haystack和搜索引擎將使用此字段的內(nèi)容作為索引進(jìn)行檢索
    # use_template=True 指定根據(jù)表中的那些字段建立索引文件的說明放在一個文件中
    text = indexes.CharField(document=True, use_template=True)

    # 對那張表進(jìn)行查詢
    def get_model(self):  # 重載get_model方法,必須要有!
        # 返回這個model
        return Shopp

    # 建立索引的數(shù)據(jù)
    def index_queryset(self, using=None):
        # 這個方法返回什么內(nèi)容,最終就會對那些方法建立索引,這里是對所有字段建立索引
        return self.get_model().objects.all()

生成檢索索引

python manage.py rebuild_index

項目目錄多出whoosh_index文件夾.

修改分詞器

從 pyrhon 安裝路徑 ( \Lib\site-packages\haystack\backends\whoosh_backend.py) 復(fù)制一份到app中改名為 whoosh_cn_backend (find/searchshop/whoosh_cn_backend.py)
在頂部引用:

from jieba.analyse import ChineseAnalyzer

找到 (查找 StemmingAnalyzer ) 位置:

 schema_fields[field_class.index_fieldname] = TEXT(
                    stored=True,
                    analyzer=StemmingAnalyzer(),
                    field_boost=field_class.boost,
                    sortable=True,
                )

替換:

schema_fields[field_class.index_fieldname] = TEXT(stored=True, analyzer=ChineseAnalyzer(),
                    field_boost=field_class.boost)

在 INSTALLED_APPS(路徑: find/find/settings.py) 配置后面 后面添加:

HAYSTACK_CONNECTIONS = {
    'default': {
        # 指定whoosh引擎 (之前創(chuàng)建的whoosh_cn_backend)
        'ENGINE': 'searchshop.whoosh_cn_backend.WhooshEngine',
        # 'ENGINE': 'jsapp.whoosh_cn_backend.WhooshEngine',      # whoosh_cn_backend是haystack的whoosh_backend.py改名的文件為了使用jieba分詞
        # 索引文件路徑
        'PATH': os.path.join(BASE_DIR, 'whoosh_index'),
    }
}
 # 添加此項,當(dāng)數(shù)據(jù)庫改變時,會自動更新索引,非常方便
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

添加 templates

在APP中創(chuàng)建 templates文件夾.

添加內(nèi)容檢索內(nèi)容

在templates文件夾下創(chuàng)建文件夾 search -> indexes -> searchshop( search + APP名);
路徑( 目錄: find/searchshop\templates\search\indexes\searchshop) 添加Shopp_text.txt(APP名_text.txt): (需要檢索的字段名)

{{object.shop_name}}
{{object.shop_dsc}}
{{object.shop_price}}

添加頁面模板

在templates文件夾下創(chuàng)建文件夾(searchshop) 下創(chuàng)建index.html:

{% load highlight %}
!DOCTYPE html>
html lang="en">
head>
    meta charset="UTF-8">
    title>商品列表/title>
    style>
        span.highlighted {
            color: red;
        }
    /style>
/head>
body>
    div class="search">
        form method="get" action="{% url 'shop:search' %}">
            input type="text" name="q" placeholder="a搜索商品">
            input type="submit" value="搜索">
        /form>
    /div>
    {% if shop_list and query %}
    ul>
        {% for question in shop_list %}
        li>
            {% highlight question.object.shop_name with query %}
            價格: {% highlight question.object.shop_price with query %}
            span class="post-author"> a> {% highlight question.object.shop_dsc with query %} /a>/span>
        /li>
        {% endfor %}
    /ul>
    {% else %}
    p>No polls are available./p>
    {% endif %}
/body>
/html>

load highlight : 加載高亮.
query : 檢索詞
shop_list : 檢索結(jié)果

視圖層

目錄: find/searchshop/views.py

from django.shortcuts import render
from django.http import HttpResponse
#Create your views here.
from .models import Shopp
from haystack.forms import  ModelSearchForm
from haystack.query import EmptySearchQuerySet
def index(request):
   shop_list = Shopp.objects.all()
   context = {
       'query': '',
       'shop_list': shop_list
   }
   return render(request, 'searchshop/index.html', context)

def search(request,  load_all=True, form_class=ModelSearchForm, searchqueryset=None):
   if request.GET.get('q'):
       form = form_class(request.GET, searchqueryset=searchqueryset, load_all=load_all)

       if form.is_valid():
           query = form.cleaned_data['q']
           results = form.search()
           context = {
               'query': query,
               'shop_list': results
           }
           return render(request, 'searchshop/index.html', context)
           # results = form.search()
       return HttpResponse(request.GET.get('q'))
   return HttpResponse('查詢')

配置路由

在 find/searchshop 創(chuàng)建 urls.py

from . import views
app_name = 'shop'   # 重點(diǎn)是這一行
urlpatterns = [
   path('', views.index, name='index'),
   path('search', views.search, name='search'),
   #  path(r'search/$', views.search, name='search')
]

修改 urls.py(目錄: find/find/urls.py)

from django.urls import path, include

urlpatterns = [
   path('shop', include('searchshop.urls')),
   path('admin/', admin.site.urls),
]

運(yùn)行:

python manage.py runserver

測試

http://127.0.0.1:8000/shop


分詞器

所以'紅米'查詢不到…

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

您可能感興趣的文章:
  • python django使用haystack:全文檢索的框架(實(shí)例講解)
  • Python中使用haystack實(shí)現(xiàn)django全文檢索搜索引擎功能
  • python實(shí)現(xiàn)圖像檢索的三種(直方圖/OpenCV/哈希法)
  • python檢索特定內(nèi)容的文本文件實(shí)例
  • Python基于正則表達(dá)式實(shí)現(xiàn)檢查文件內(nèi)容的方法【文件檢索】

標(biāo)簽:林芝 盤錦 海南 寧夏 漯河 大同 南平 普洱

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于python + django + whoosh + jieba 分詞器實(shí)現(xiàn)站內(nèi)檢索功能》,本文關(guān)鍵詞  基于,python,django,whoosh,jieba,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于python + django + whoosh + jieba 分詞器實(shí)現(xiàn)站內(nèi)檢索功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于python + django + whoosh + jieba 分詞器實(shí)現(xiàn)站內(nèi)檢索功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    97超碰在线免费观看| 免费在线国产视频| 日本三级免费网站| 丁香六月激情婷婷| 综合久草视频| 国产v综合v| 无码人妻精品一区二区蜜桃网站| 欧美乱大交做爰xxxⅹ性3| 国产麻豆精品一区二区| 日韩经典一区二区三区| 色久优优欧美色久优优| 欧美日韩电影在线播放| 国产香蕉一区二区三区在线视频| 亚洲啪啪av| 国产jzjzjz丝袜老师水多| y97精品国产97久久久久久| 国自产拍在线网站网址视频| 国产精品一区二区三区网站| 久久久久亚洲视频| 中文字幕一区电影| 欧美在线视频一区二区| 亚洲无码精品在线播放| 欧美调教网站| 亚洲日本一区二区三区在线| 久久久久久久91| 日日夜夜精品视频免费观看| 精品国产99| 天天躁日日躁狠狠躁av| 日本三级免费网站| 亚洲精品98久久久久久中文字幕| 噼里啪啦国语在线观看免费版高清版| 91久久综合亚洲鲁鲁五月天| 成人久久久久久久| 国产精品一区不卡| 国产一区二区无遮挡| 久久精品国产成人| 在线成人精品视频| 福利片在线播放| 久久成人麻豆午夜电影| 亚洲丝袜精品| 亚洲精品一区二区三区在线播放| 亚洲电影第三页| 欧美a级一区二区| 都市激情久久| 美女在线不卡| 最近国产精品视频| 九9re精品视频在线观看re6| 哺乳一区二区三区中文视频| 在线观看亚洲a| 韩国成人精品a∨在线观看| 亚洲国产日韩美| 欧美爱爱视频| 日韩中文第一页| 91香蕉视频mp4| 久草热久草在线频| 日韩人妻精品一区二区三区| 伊人影院在线观看| 六月丁香婷婷综合| 国产精品一区二区三区av| 欧美 日韩 国产一区二区在线视频| 国产精品久久不卡| 午夜一级黄色片| av亚洲一区二区三区| 日韩免费视频一区| 欧美日韩视频专区在线播放| 91观看网站| 精品一区二区三区久久| www久久久com| 日本欧美黄色片| 亚洲老女人av| 亚洲高清黄色| 美女激情网站| 日本一卡2卡三卡4卡网站| 国产亚洲aⅴaaaaaa毛片| av在线最新| 欧美乱大交xxxxx另类| 影音先锋国产精品| 亚洲永久无码7777kkk| 久一视频在线观看| 精品综合久久久久| 精品成人国产在线观看男人呻吟| 日韩最新在线| 一本色道久久加勒比精品| 日本高清在线观看视频| 日本少妇bbwbbw精品| 欧美日韩1区| xxxxx99| 成人免费观看视频在线观看| 少妇大叫太大太粗太爽了a片小说| 久久久精品麻豆| 亚洲欧美一区二区三区在线播放| aaa在线播放视频| 电影亚洲一区| 久久综合成人精品亚洲另类欧美| 少妇激情一区二区三区视频| 国产无一区二区| 亚洲精品美腿丝袜| 精品处破女学生| 久久婷婷综合色| 久久久久久久999| 特黄特黄一级片| 91亚洲精品视频在线观看| 日本xxxxxxxxxx75| 日韩第一页在线| 红桃视频一区二区三区免费| 尤物九九久久国产精品的分类| 欧洲性视频在线播放| 一区二区成人在线| 国产成免费视频| 鲁一鲁一鲁一鲁一澡| 精品国产一区二区三区av片| 美女av在线免费看| 精品少妇一区二区| 国产精品综合久久久久| 男女网站在线观看| 中文字幕综合在线| 在线精品一区二区三区| 日韩有码在线视频| 久久天天综合| www.99久久热国产日韩欧美.com| 一级免费黄色录像| 日韩精品一区二区三区中文精品| 国产精品18hdxxxⅹ在线| 色资源网站在线观看| 欧美性xxxxxxxxx| 一区二区三区在线观看免费视频| 717影院理论午夜伦不卡久久| 成人久久精品视频| 欧美精品一区二区三区久久| 欧美性猛交丰臀xxxxx网站| 中文字幕一区二区三区免费看| bt天堂新版中文在线地址| 51久久夜色精品国产麻豆| 懂色av一区二区三区四区| 亚洲一区av| 国产麻豆乱码精品一区二区三区| 欧美日本一区二区高清播放视频| 国产一区二区三区高清在线观看| 六月亚洲精品一区| 榴莲视频成人app| 国产凹凸在线观看一区二区| 亚洲色图美女| 亚洲综合爱爱久久网| 自由日本语亚洲人高潮| 国产又黄又猛又粗又爽的视频| 色综合.com| 一级片视频免费| 日韩欧美性视频| 婷婷丁香综合网| 午夜免费久久久久| 在线观看一区二区三区视频| 久久综合九色欧美综合狠狠| 午夜精品久久久久久| 日本一区二区三区视频在线看| 国产乱色精品成人免费视频| 草莓福利社区在线| 欧美国产日韩xxxxx| 国产精品丝袜久久久久久消防器材| 亚洲av无码乱码国产精品久久| 五月婷婷伊人网| 一区二区三区精品视频| 成人免费视频caoporn| 中文字幕乱码亚洲精品一区| 日韩人体视频| 91免费版黄色| 欧美日韩爱爱视频| 日韩中文第一页| 欧美日韩综合一区二区三区| 台湾佬中文娱乐久久久| 天天射天天干天天| 久久成人亚洲| 免费欧美在线视频| 国产福利在线播放麻豆| 成人高清免费观看mv| 在线观看视频你懂得| sm捆绑调教视频| 亚洲人成在线电影| 美女翘臀白浆直流视频| av在线免费在线观看| 久久人人99| 在线播放性xxx欧美| 手机看片福利在线| 在线亚洲+欧美+日本专区| 一区二区三区韩国免费中文网站| 日韩精品一区二区免费| 国产不卡网站| 美国黄色小视频| 国产成人精品a视频一区www| 裸体一区二区三区| 特黄特黄一级片| 无尽裸体动漫2d在线观看| 亚洲一区二区久久久| 日韩在线播放视频| 日韩一区二区高清| 亚洲日本护士毛茸茸| theav精尽人亡av| 亚洲欧美日韩中文字幕一区二区三区| eeuss草民免费| 久久久久久久久久久久国产| 欧美色图色就是色| 欧美午夜电影在线| 色网站在线免费观看| 麻豆mv在线看| 欧美性受xxxx黑人猛交| 欧美日韩久久精品| 先锋影音男人| 日韩avvvv在线播放| 国产无套精品一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 手机在线中文字幕| 国产精品视频成人| 一个人免费观看视频www在线播放| 成人免费视频视频在线观看免费| 欧美激情国产日韩精品一区18| 美女视频久久久| 欧美性潮喷xxxxx免费视频看| 亚洲成av人片在线观看| 午夜电影网一区| 美女大黄三级视频在线观看| www.男人的天堂| 九九热在线观看视频| 精品91久久久| 黄色小视频免费在线观看| 美女视频免费精品| 欧美高清视频一区二区三区在线观看| 精品亚洲二区| 狠狠色伊人亚洲综合成人| 一区二区三区成人在线视频| 69视频在线播放| 成人性生交大片免费看无遮挡aⅴ| 九九视频精品在线观看| 国产av国片精品| 波波电影院一区二区三区| 久久久中精品2020中文| 美女在线视频一区| 中文久久电影小说| 亚洲精品久久久久久久蜜桃| 亚洲香蕉视频| 在线观看成人毛片| 日韩不卡一区二区| 亚洲国产精品自拍| 神马国产精品影院av| 一区二区三区日韩欧美精品| 五月天婷亚洲天综合网鲁鲁鲁| 日韩成人精品视频在线观看| 国模杨依粉嫩蝴蝶150p| 免费裸体美女网站| 日本电影免费看| 中文字幕av久久爽一区| 91麻豆精品一区二区三区| 欧美午夜精品一区二区三区电影| 亚洲最新av| 久久久久久久久免费视频| 精品国产免费久久| 老师让我她我爽了好久视频| 国产精品亲子伦对白| 成人av网址在线| 大色综合视频网站在线播放| 久久亚洲精品一区| 精品av一区二区| 久久久一区二区三区捆绑**| 欧美大片va欧美在线播放| 在线看日韩欧美| 波多野结衣久久| 国产片高清在线观看| 黄色成人免费看| 成人久久久久久| www.日本久久久久com.| 影音av资源网| 国产精品va在线播放我和闺蜜| 国产成人精品视频| 国产成人综合精品| 99视频在线播放| 日韩免费观看高清完整版| 风间由美性色一区二区三区| 国产精品久久久久久吹潮| 久久美女精品| 欧美aaaaa性bbbbb小妇| av地址在线观看| 国产精品日韩一区二区| **在线精品| 精品剧情在线观看| 蜜芽一区二区三区| 亚洲精蜜桃久在线| 欧美在线一区二区三区四区| 欧美日韩亚洲国产精品| 亚洲在线久久| 性欧美疯狂xxxxbbbb| 国产中文字幕久久| 国产三区视频在线观看| 91插插插插插插插插| 一区二区三区国产精华| 久久久久久中文字幕| 国产日韩av在线播放| 国产一区在线电影| 日韩在线播放一区| aaa毛片在线观看| 激情无码人妻又粗又大| 三区视频在线观看| 国产日韩欧美中文在线播放| 国产理论片在线观看| 中文有码在线播放| 久久亚洲国产精品日日av夜夜| 成人高清伦理免费影院在线观看| 一级视频在线观看| 一级做a免费视频| 成年人网站免费视频| 91久久偷偷做嫩草影院电| 972aa.com艺术欧美| 国产一区二区三区不卡在线观看| 精品一区二区三区中文字幕老牛| 久久国产精品网站| 苍井空张开腿实干12次| 天天色天天爱天天射综合| 黄色三级视频在线播放| 亚洲国产美女视频| 欧美三级韩国三级日本三斤在线观看| 欧美日韩高清一区二区| 国产精品久久免费看| 秋霞av亚洲一区二区三| 性一交一乱一色一免费无遮挡| 亚洲精品一区二| 偷拍25位美女撒尿视频在线观看| 欧美色图888| 黄动漫在线观看| 2018国产精品| 国产91在线亚洲| 欧美久久天堂|