日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你們怎么在Django中使用ElasticSearch

馬哥Linux運(yùn)維 ? 來源:CSDN技術(shù)社區(qū) ? 作者:py臭屁蟲 ? 2021-06-11 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是Elasticsearch?

Elasticsearch是基于Lucene庫的搜索引擎。它提供了具有HTTP Web界面和無模式JSON文檔的分布式,多租戶功能的全文本搜索引擎。Elasticsearch是用Java開發(fā)的。

Elasticsearch的用途是什么?

Elasticsearch可以使我們快速,近乎實(shí)時地存儲,搜索和分析大量數(shù)據(jù),并在幾毫秒內(nèi)給出答復(fù)。之所以能夠獲得快速的搜索響應(yīng),是因為它可以直接搜索索引,而不是直接搜索文本。

Elasticsearch-一些基本概念

索引—不同類型的文檔和文檔屬性的集合。例如,文檔集可以包含社交網(wǎng)絡(luò)應(yīng)用程序的數(shù)據(jù)。

類型/映射-共享共享同一索引中存在的一組公共字段的文檔集合。例如,索引包含社交網(wǎng)絡(luò)應(yīng)用程序的數(shù)據(jù);對于用戶個人資料數(shù)據(jù),可以有一種特定的類型,對于消息傳遞數(shù)據(jù),可以有另一種類型,對于注釋數(shù)據(jù),可以有另一種類型。

文檔-以特定方式以JSON格式定義的字段的集合。每個文檔都屬于一種類型,并且位于索引內(nèi)。每個文檔都與唯一的標(biāo)識符(稱為UID)相關(guān)聯(lián)。

字段-Elasticsearch字段可以包含多個相同類型的值(本質(zhì)上是一個列表)。另一方面,在SQL中,一列可以恰好包含所述類型的一個值。

在Django中使用Elasticsearch

安裝和配置,安裝Django Elasticsearch DSL:

$ pip install django-elasticsearch-dsl

然后將django_elasticsearch_dsl添加到INSTALLED_APPS

必須在django設(shè)置中定義ELASTICSEARCH_DSL。

例如:

ELASTICSEARCH_DSL={

‘default’: {

‘hosts’: ‘localhost:9200’

},

}

聲明要索引的數(shù)據(jù),然后創(chuàng)建model:

# models.pyclass Category(models.Model):

name = models.CharField(max_length=30)

desc = models.CharField(max_length=100, blank=True)

def __str__(self):

return ‘%s’ % (self.name)

要使該模型與Elasticsearch一起使用,請創(chuàng)建django_elasticsearch_dsl.Document的子類,在Document類中創(chuàng)建一個Index類以定義我們的Elasticsearch索引,名稱,設(shè)置等,最后使用Registry.register_document裝飾器注冊該類。它需要在應(yīng)用目錄中的documents.py中定義Document類。

# documents.pyfrom django_elasticsearch_dsl import Document

from django_elasticsearch_dsl.registries import registry

from .models import Category

@registry.register_documentclass CategoryDocument(Document):

class Index:

name = ‘category’

settings = {

‘number_of_shards’: 1,

‘number_of_replicas’: 0

}

class Django:

model = Category

fields = [

‘name’,

‘desc’,

填充:

要創(chuàng)建和填充Elasticsearch索引和映射,請使用search_index命令:

$python manage.py search_index — rebuild

要獲得更多幫助,請使用命令:

$ python manage.py search_index —help

現(xiàn)在,當(dāng)執(zhí)行以下操作時:

category = Category(

name=“Computer and Accessories”,

desc=“abc desc”

category.save()

該對象也將保存在Elasticsearch中(使用信號處理程序)。

搜索:

要獲取elasticsearch-dsl-py搜索實(shí)例,請使用:

s = CategoryDocument.search().filter(“term”, name=“computer”)

# or

s = CategoryDocument.search().query(“match”, description=“abc”)

for hit in s:

print(

“Category name : {}, description {}”.format(hit.name, hit.desc)

要將彈性搜索結(jié)果轉(zhuǎn)換為真實(shí)的Django查詢集,請注意,這會花費(fèi)一個SQL請求來檢索具有由Elasticsearch查詢返回的ID的模型實(shí)例。

s = CategoryDocument.search().filter(“term”, name=“computer”)[:30]

qs = s.to_queryset()

# qs is just a django queryset and it is called with order_by to keep# the same order as the elasticsearch result.for cat in qs:

print(cat.name)

完畢,如果有任何疑問,歡迎留言交流。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1309

    瀏覽量

    75037
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    538

    瀏覽量

    35569
  • Lucene
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    7874
  • Elasticsearch
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    3152

原文標(biāo)題:如何在Django中使用ElasticSearch

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何同時多個進(jìn)程中使用 IMX-SMW ELE 后端?

    加密 API 作為 mbedts 的加密驅(qū)動程序。我們 HSM ELE 中生成一個私密密鑰。我們的應(yīng)用程序 mbedtls 中使用私鑰將其加載為不透明密鑰。不同進(jìn)程中運(yùn)行的多個
    發(fā)表于 04-17 09:47

    從0到1搭建實(shí)時日志監(jiān)控系統(tǒng):基于WebSocket + Elasticsearch的實(shí)戰(zhàn)方案

    1. 背景與痛點(diǎn) 開發(fā)分布式系統(tǒng)時,日志分散多個服務(wù)節(jié)點(diǎn)中,傳統(tǒng)輪詢查詢方式存在延遲高、資源浪費(fèi)的問題。某次線上故障中,因未能實(shí)時發(fā)現(xiàn)錯誤日志,導(dǎo)致問題排查時間延長2小時。因此,決定自研一套
    發(fā)表于 01-09 16:43

    合科泰教你如何焊接簡單LED閃爍電路

    你是否曾好奇那些閃爍的LED燈背后的原理?今天教你用5分鐘焊接一個簡單的LED閃爍電路,無需編程,只需一把電烙鐵、幾個簡單元件和基礎(chǔ)的焊接技能,就能打造屬于自己的電子小玩具。 這不僅能獲得好玩的電子玩具,還是理解電路工作原理的實(shí)踐一課。今天,合科泰就帶著你從零搞定這個新手友好項目。
    的頭像 發(fā)表于 01-07 17:28 ?1361次閱讀
    合科泰<b class='flag-5'>教你</b>如何焊接簡單LED閃爍電路

    芯源的CRC硬件計算誰用過嗎?MCU的CRC你們喜歡用硬件的還是軟件的?。?/a>

    芯源的CRC硬件計算誰用過嗎?MCU的CRC你們喜歡用硬件的還是軟件的???
    發(fā)表于 12-01 08:25

    【迅為RK3568開發(fā)板NPU實(shí)戰(zhàn)】別再閑置你的NPU!手把手教你玩轉(zhuǎn)RKNN-Toolkit2 的使用

    【迅為RK3568開發(fā)板NPU實(shí)戰(zhàn)】別再閑置你的NPU!手把手教你玩轉(zhuǎn)RKNN-Toolkit2 的使用
    的頭像 發(fā)表于 11-11 14:21 ?1571次閱讀
    【迅為RK3568開發(fā)板NPU實(shí)戰(zhàn)】別再閑置你的NPU!手把手<b class='flag-5'>教你</b>玩轉(zhuǎn)RKNN-Toolkit2 的使用

    實(shí)戰(zhàn)RK3568性能調(diào)優(yōu):如何利用迅為資料壓榨NPU潛能-Android系統(tǒng)中使用NPU

    《實(shí)戰(zhàn)RK3568性能調(diào)優(yōu):如何利用迅為資料壓榨NPU潛能-Android系統(tǒng)中使用NPU》
    的頭像 發(fā)表于 11-07 13:42 ?1148次閱讀
    實(shí)戰(zhàn)RK3568性能調(diào)優(yōu):如何利用迅為資料壓榨NPU潛能-<b class='flag-5'>在</b>Android系統(tǒng)<b class='flag-5'>中使</b>用NPU

    Ubuntu 虛擬機(jī)中使用verilator對蜂鳥E203內(nèi)核進(jìn)行仿真

    Ubuntu 虛擬機(jī)中使用verilator對蜂鳥E203內(nèi)核進(jìn)行仿真 蜂鳥E203是一款基于RISC-V架構(gòu)的嵌入式處理器核,開發(fā)中需要進(jìn)行仿真操作來驗證其功能性。本教程將介紹如何利用
    發(fā)表于 10-27 08:22

    NuMicro? Cortex M0/M4系列中使用SWD(串行線調(diào)試)時,為什么進(jìn)入掉電模式后功耗不會降低呢?

    NuMicro? Cortex M0/M4系列中使用SWD(串行線調(diào)試)時,為什么進(jìn)入掉電模式后功耗不會降低?
    發(fā)表于 08-29 07:40

    如何二進(jìn)制安裝Linux集群

    ElasticSearch是使用Java語言開發(fā)的,所以運(yùn)行時依賴JDK。
    的頭像 發(fā)表于 06-17 14:49 ?1155次閱讀

    射頻前端模塊中使用的集成無源元件技術(shù)

    本文介紹了射頻前端模塊(RF-FEM)中使用的集成無源元件(IPD)技術(shù)。
    的頭像 發(fā)表于 06-03 18:26 ?1888次閱讀
    射頻前端模塊<b class='flag-5'>中使</b>用的集成無源元件技術(shù)

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    高并發(fā)網(wǎng)絡(luò)服務(wù)場景中,Linux內(nèi)核的默認(rèn)網(wǎng)絡(luò)參數(shù)往往無法滿足需求,導(dǎo)致性能瓶頸、連接超時甚至服務(wù)崩潰。本文基于真實(shí)案例分析,從參數(shù)解讀、問題診斷到優(yōu)化實(shí)踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬級并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?1218次閱讀

    FX3為什么無法Windows中使用Gstreamer?

    我正在開發(fā) FX3,我可以 Linux 和 Windows 中使用 y8 格式的 ffmpeg 流式傳輸相機(jī), Linux 中使用 y8 格式的 Gstreamer,但我無法
    發(fā)表于 05-29 06:59

    單節(jié)點(diǎn)Elasticsearch+Filebeat+Kibana安裝指南

    單節(jié)點(diǎn)Elasticsearch+Filebeat+Kibana安裝指南
    的頭像 發(fā)表于 05-21 11:06 ?1417次閱讀
    單節(jié)點(diǎn)<b class='flag-5'>Elasticsearch</b>+Filebeat+Kibana安裝指南

    正點(diǎn)原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門!

    正點(diǎn)原子Linux系列全新視頻教程來啦!手把手教你MP257開發(fā)板,讓您輕松入門! 一、視頻觀看 正點(diǎn)原子手把手教你學(xué)STM32MP257-第1期:https://www.bilibili.com/video/BV1UtEizyE7Z 二、更多詳細(xì)介紹
    發(fā)表于 05-16 10:42

    labview 中使用了旋鈕,旋鈕的值改變事件中怎么能夠做到只終值時觸發(fā)?

    labview 中使用了旋鈕,旋鈕的值改變事件中怎么能夠做到只終值時觸發(fā)? (如果使用鼠標(biāo)釋放代替,會出現(xiàn)鼠標(biāo)移除后再釋放是無法觸發(fā))
    發(fā)表于 05-10 21:28
    昭苏县| 忻城县| 东乌| 滨州市| 呈贡县| 应用必备| 普陀区| 富裕县| 盘锦市| 论坛| 临桂县| 晋江市| 汽车| 榆树市| 武汉市| 吉林省| 调兵山市| 荆门市| 水富县| 衢州市| 南华县| 宁蒗| 纳雍县| 兰坪| 金平| 横山县| 金塔县| 建湖县| 鹤峰县| 赣州市| 双牌县| 剑河县| 长宁县| 民县| 萝北县| 凤翔县| 枣庄市| 视频| 杭州市| 梅州市| 大兴区|