中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

重慶建設(shè)工程管理網(wǎng)seo入門到精通

重慶建設(shè)工程管理網(wǎng),seo入門到精通,編寫html的軟件,北京谷歌seo目錄 elasticsearch基本概念RESTful API創(chuàng)建非結(jié)構(gòu)化索引(增)創(chuàng)建空索引(刪)刪除索引(改)插入數(shù)據(jù)(改)數(shù)據(jù)更新(查)搜索數(shù)據(jù)(id)&…

目錄

  • elasticsearch基本概念
    • RESTful API
    • 創(chuàng)建非結(jié)構(gòu)化索引
      • (增)創(chuàng)建空索引
      • (刪)刪除索引
      • (改)插入數(shù)據(jù)
      • (改)數(shù)據(jù)更新
      • (查)搜索數(shù)據(jù)(id)
      • (查)搜索數(shù)據(jù)(全部)
      • (查)關(guān)鍵字搜索數(shù)據(jù)
      • (查)DSL搜索
      • 其他(聚合)

elasticsearch基本概念

Elasticsearch 是一個分布式搜索引擎,用于全文搜索、分析和可視化大規(guī)模數(shù)據(jù)。以下是 Elasticsearch 中一些基本概念:

  1. 索引(Index)
    • Elasticsearch 中的數(shù)據(jù)存儲單元,類似于傳統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)庫。每個索引包含一組相關(guān)的文檔。
  2. 文檔(Document)
    • 索引中的基本信息單元,可以是 JSON、XML、或其他格式的數(shù)據(jù)。文檔是 Elasticsearch 中可被索引和搜索的基本數(shù)據(jù)單元。
  3. 類型(Type)(在7.x版本之前):
    • Elasticsearch 6.x及更早版本中,索引可以包含一個或多個類型,每個類型定義了文檔的結(jié)構(gòu)。從 Elasticsearch 7.x 開始,不再支持多類型,一個索引只有一個默認(rèn)類型 “_doc”。
  4. 映射(Mapping)
    • 定義了索引中的文檔結(jié)構(gòu),包括每個字段的類型和屬性。映射在創(chuàng)建索引時自動創(chuàng)建,也可以手動定義。
  5. 節(jié)點(Node)
    • Elasticsearch 集群中的單個服務(wù)器,用于存儲數(shù)據(jù)和執(zhí)行數(shù)據(jù)操作。每個節(jié)點屬于一個集群,并且有唯一的名稱。
  6. 集群(Cluster)
    • 由一個或多個節(jié)點組成的集合,共同存儲數(shù)據(jù)并提供聯(lián)合的搜索能力。集群有一個唯一的名稱。
  7. 分片(Shard)
    • 索引可以被分割成多個分片,每個分片是一個獨立的索引。分片允許數(shù)據(jù)水平擴(kuò)展,提高并發(fā)性能。
  8. 副本(Replica)
    • 每個分片可以有零個或多個副本。副本是分片的精確拷貝,用于提高高可用性和故障恢復(fù)。
  9. 查詢(Query)
    • 用于搜索 Elasticsearch 中文檔的條件??梢酝ㄟ^查詢DSL(Domain Specific Language)來構(gòu)建各種類型的查詢。
  10. 聚合(Aggregation)
    • 用于分析和統(tǒng)計數(shù)據(jù)的機(jī)制,可以計算平均值、總和、最小值等。
  11. 索引別名(Index Alias)
    • 為索引提供一個可讀的名稱,可以用于簡化索引操作和在查詢中引用多個索引。
  12. 分析器(Analyzer)
    • 用于在索引和查詢階段處理文本數(shù)據(jù)的組件,包括分詞、小寫化、去停用詞等。
  13. 倒排索引(Inverted Index)
    • Elasticsearch 使用倒排索引來加速搜索,它記錄了每個詞項出現(xiàn)在哪些文檔中。

這些是 Elasticsearch 中一些基本的概念,了解它們有助于更好地理解和使用 Elasticsearch 進(jìn)行數(shù)據(jù)存儲和檢索。

RESTful API

在Elasticsearch中,提供了功能豐富的RESTful API的操作,包括基本的CRUD、創(chuàng)建索引、刪除索引等操作。

創(chuàng)建非結(jié)構(gòu)化索引

在Lucene中,創(chuàng)建索引是需要定義字段名稱以及字段的類型的,在Elasticsearch中提供了非結(jié)構(gòu)化的索引,就是不需要創(chuàng)建索引結(jié)構(gòu),即可寫入數(shù)據(jù)到索引中,實際上在Elasticsearch底層會進(jìn)行結(jié)構(gòu)化操作,此操作對用戶是透明的。

(增)創(chuàng)建空索引

PUT /elk
{"settings":{"index":{"number_of_shards":"2","number_of_replicas":"0"}}
}

這里我選擇postman進(jìn)行測試。

image.png

去elasticsearch-head看是否索引創(chuàng)建是否成功。

image.png

可以看到索引已經(jīng)創(chuàng)建成功了。

(刪)刪除索引

DELETE /elk
{"acknowledged": true
}

在postman中進(jìn)行刪除操作

image.png

檢查是否刪除成功

image.png

可以看到已經(jīng)刪除成功了

(改)插入數(shù)據(jù)

上面我們已經(jīng)學(xué)會了如何創(chuàng)建好刪除索引,現(xiàn)在我們進(jìn)行數(shù)據(jù)的添加操作。

URL規(guī)則:
POST /{索引}/{類型}/{id}

插入如下數(shù)據(jù)。

{
"id":1001,
"name":"王五",
"age":18,
"sex":"男"
}

image.png

postman中顯示插入成功了。

瀏覽器上是否也是插入成功呢?

image.png

可以看到數(shù)據(jù)已經(jīng)成功插入了。

(改)數(shù)據(jù)更新

在Elasticsearch中,文檔數(shù)據(jù)是不為修改的,但是可以通過覆蓋的方式進(jìn)行更新。

{
"id":1001,
"name":"王老五",
"age":55,
"sex":"男"
}

image.png

image.png

服務(wù)器中的數(shù)據(jù)也成功更新了。

問題與探究問題與探究問題與探究

可以看到數(shù)據(jù)已經(jīng)被覆蓋了。問題來了,可以局部更新嗎? – 可以的。前面不是說,文檔數(shù)據(jù)不能更新嗎?
其實是這樣的:在內(nèi)部,依然會查詢到這個文檔數(shù)據(jù),然后進(jìn)行覆蓋操作,步驟如下:

  1. 從舊文檔中檢索JSON
  2. 修改它
  3. 刪除舊文檔
  4. 索引新文檔
#注意:這里多了_update標(biāo)識POST /haoke/_update/1001
{
"doc":{
"age":66
}
}

image.png

image.png

可以看到數(shù)據(jù)已經(jīng)成功更新了。

我們需要id存在,否則會報錯,也就是404

image.png

當(dāng)id存在,我們可以往數(shù)據(jù)添加原先沒有的數(shù)據(jù)。

image.png

image.png

(查)搜索數(shù)據(jù)(id)

GET /elk/_doc/id

image.png

我們也可以直接在elasticsearch中進(jìn)行搜索

image.png

(查)搜索數(shù)據(jù)(全部)

GET  /elk/_search

image.png

同樣的,查詢?nèi)恳部梢灾苯釉趀lasticsearch-head中的基本查詢中進(jìn)行搜索。

image.png

(查)關(guān)鍵字搜索數(shù)據(jù)

#格式
GET /elk/_search?q=字段名:對應(yīng)值#查詢年齡等于13的用戶
GET /elk/_search?q=age:20

image.png

#查詢年齡等于13的用戶
GET /elk/_search?q=address:湖南

image.png

(查)DSL搜索

Elasticsearch的DSL(Domain-Specific Language)是一種查詢語言,用于在Elasticsearch中執(zhí)行搜索操作。DSL允許用戶以結(jié)構(gòu)化的方式構(gòu)建復(fù)雜的查詢,以滿足不同的搜索需求。DSL查詢通常以JSON格式表示,并包含各種查詢和過濾條件。

以下是一些常見的DSL查詢語法和查詢類型的詳細(xì)解釋:

  1. Match Query:
    Match查詢用于執(zhí)行全文本搜索,它會在指定的字段中查找包含特定詞語的文檔。

    {"query": {"match": {"field_name": "search_term"}}
    }
    
    
    

    匹配年齡為20的數(shù)據(jù)

    POST /elk/_search
    #請求體
    {"query" : {"match" : {"age" : 23}}
    }
    

    image.png

    匹配多個姓名數(shù)據(jù)

    POST /elk/_search
    #請求數(shù)據(jù)
    {"query" : {"match" : {"name" : "張四 李三 王老五"}}
    }
    

    image.png

    高亮顯示

    POST /elk/_search
    #請求數(shù)據(jù)
    {"query": {"match": {"name": "王老五"}},"highlight": {"fields": {"name": {}}}
    }
    

    image.png

  2. Term Query:
    Term查詢用于匹配確切的詞語。它通常用于精確匹配,而不進(jìn)行全文本搜索。

    {"query": {"term": {"field_name": "exact_term"}}
    }
    
  3. Bool Query: Bool查詢允許將多個查詢組合在一起,并使用邏輯運算符(must、must_not、should)來定義查詢邏輯。

    {"query": {"bool": {"must": [{ "match": { "field1": "value1" } },{ "term": { "field2": "value2" } }],"must_not": [{ "range": { "field3": { "gte": "2022-01-01" } } }],"should": [{ "term": { "field4": "value3" } }]}}
    }
    

    查詢年齡大于18歲的男性用戶。

    POST /elk/user/_search
    #請求數(shù)據(jù)
    {"query": {"bool": {"filter": {"range": {"age": {"gt": 18}}},"must": {"match": {"sex": "男"}}}}
    }
    
  4. Range Query:
    Range查詢用于匹配指定范圍內(nèi)的值。

    {"query": {"range": {"field_name": {"gte": "min_value","lte": "max_value"}}}
    }
    
  5. Wildcard Query:
    通配符查詢允許使用通配符進(jìn)行模糊匹配。

    {"query": {"wildcard": {"field_name": "search*term"}}
    }
    
  6. Nested Query:
    Nested查詢用于在嵌套文檔中執(zhí)行查詢。

    {"query": {"nested": {"path": "nested_field","query": {"match": {"nested_field.property": "value"}}}}
    }
    

這些是一些基本的DSL查詢示例。在實際應(yīng)用中,可以將這些查詢類型組合使用,以滿足特定的搜索需求。此外,Elasticsearch還支持聚合(Aggregation)、排序(Sorting)、分頁(Pagination)等高級功能,可以進(jìn)一步擴(kuò)展查詢的能力。

其他(聚合)

在Elasticsearch中,支持聚合操作,類似SQL中的group by操作。

POST /elk/_search
{"aggs": {"all_interests": {"terms": {"field": "age"}}}
}

image.png

http://www.risenshineclean.com/news/50886.html

相關(guān)文章:

  • 哪些網(wǎng)站是用響應(yīng)式做的網(wǎng)絡(luò)服務(wù)器的作用
  • 網(wǎng)站在正在建設(shè)中品牌營銷策劃怎么寫
  • 重慶智能網(wǎng)站建設(shè)哪里好谷歌手機(jī)版瀏覽器官網(wǎng)
  • 做證明圖片的網(wǎng)站拉新app渠道
  • ppt模板下載官網(wǎng)外鏈seo
  • 最好的網(wǎng)站設(shè)計營銷軟件app
  • 重慶外貿(mào)網(wǎng)站建設(shè)公司排名百度開發(fā)者平臺
  • 杭州專業(yè)設(shè)計網(wǎng)站怎樣建網(wǎng)站
  • 有網(wǎng)站想修改里面的內(nèi)容怎么做發(fā)布平臺有哪些
  • 淄博網(wǎng)站設(shè)計丨致信網(wǎng)絡(luò)網(wǎng)絡(luò)銷售 市場推廣
  • wordpress導(dǎo)入b站視頻教程百度推廣登陸平臺登錄
  • java開發(fā)工具下載??诰W(wǎng)站關(guān)鍵詞優(yōu)化
  • 制作圖網(wǎng)站有哪些內(nèi)容百度文庫首頁官網(wǎng)
  • 旅游景點網(wǎng)頁設(shè)計百度移動seo首選帝搜軟件
  • 濱州市城鄉(xiāng)建設(shè)部網(wǎng)站首頁網(wǎng)頁制作教程步驟
  • 網(wǎng)站二維碼鏈接怎么做的培訓(xùn)課
  • 樹莓派 做網(wǎng)站開發(fā)定制軟件公司
  • 怎么才能百度做網(wǎng)站百度一下官網(wǎng)手機(jī)版
  • 網(wǎng)站title的作用怎樣做自己的網(wǎng)站
  • 網(wǎng)站空間怎么登陸網(wǎng)上推廣平臺有哪些
  • 江西網(wǎng)站建設(shè)哪家專業(yè)seo怎么做排名
  • 做傳銷網(wǎng)站違法什么是軟文營銷?
  • h5 高端網(wǎng)站建設(shè)怎樣制作一個網(wǎng)站
  • 京山網(wǎng)站建設(shè)2345網(wǎng)址導(dǎo)航 中國最
  • 二手車網(wǎng)站源碼精準(zhǔn)信息預(yù)測
  • 做網(wǎng)站建設(shè)的銷售薪水搜索引擎排名優(yōu)化seo課后題
  • wordpress充值功能無錫整站百度快照優(yōu)化
  • 沈陽房地產(chǎn)網(wǎng)站開發(fā)服務(wù)營銷策劃方案
  • 威海住房和城鄉(xiāng)建設(shè)局網(wǎng)站首頁搜索引擎營銷簡稱seo
  • 太原制作網(wǎng)站的公司福建seo學(xué)校