Windows 安裝和使用 ElasticSearch

SpringBoot3 整合 Elasticsearch

1.?ElasticSearch

1.1 ES

(1)ES 是一個開源的分布式搜索和分析引擎,專為處理大模型數據而設計,它能夠實現近乎實時的數據檢索、分析和可視化,廣泛用于全文搜索、日志分析和監控(RLK Stack)、數據分析等領域。

(2)核心概念

Index(索引)

類似數據庫中的“表”

Document(文檔)

類似數據庫中的“行”,JSON格式數據

Shard(分片)

索引被分割成多個分片,分片可分布在不同節點上

Replica(副本)

分片的備份

Mapping(映射)

定義文檔的字段及類型

1.2 MYSQL 和 ElasticSearch 對比

MYSQL

Database(數據庫)

Row(行)

Column(列)

ElasticSearch

Index(索引)

Document(文檔)

Fileds(字段)

1.3 ES 數據類型

數據類型

字符串

text

全文搜索(如文章內容、描述),支持分詞、模糊匹配,不適合排序和聚合

keyword

精確匹配(如狀態碼、標簽、ID),不分詞,適合過濾、排序和聚合

數值

long / integer(整數)

double / float(浮點數)

日期

date

布爾

boolean

true / false

二進制

binary

存儲Base64編碼的二進制數據(如圖片)

對象

object

JSON對象

嵌套

nested

對象數組

地理

geo_point

經緯度坐標

geo_shape

復雜地理形狀(如多邊形區域)

數組

[ ]

存儲同類型多值

2. 下載

ElasticSearch:Download Elasticsearch | Elastic

Kibana可視化平臺:Download Kibana Free | Get Started Now | Elastic

3. 啟動

3.1 啟動ElasticSearch

第一次啟動會初始化一個密碼,用戶名:elastic。

如果忘記密碼,使用命令重置密碼:elasticsearch-reset-password -u elastic

注意要保存新密碼

3.2 啟動 Kibana(先修改配置文件,再啟動)

4. 正排索引和倒排索引

4.1 正排索引(id 映射 內容)

id

content

100

華為 Mate 60 手機

101

iPhone 16 手機

102

小米汽車

4.2 倒排索引(分詞 映射 id)

keyword

id

手機

100,101

華為

100

iPhone

101

汽車

102

5. Index 索引(使用 PostMan 請求)

5.1 新增 goods 索引( PUT )

// number_of_shards: 定義了索引的主分片數量。數據會被分成幾個分片(shard)
// number_of_replicas: 定義了每個主分片的副本數量。主分片的備份數
// mappings: 定義了索引中存儲的文檔的字段及其數據類型{"settings": {"number_of_shards": 1,"number_of_replicas": 1},"mappings": {"properties": {"goods_name": { "type": "text" },"price": { "type": "float" },"created_time": { "type": "date","format": "yyyy-MM-dd HH:mm:ss" }}}
}

5.2 查詢 goods 索引( GET )

5.3 刪除 goods 索引( DELETE )

6. Document 文檔

6.1 新增 Document( POST _doc )

{"goods_name": "西瓜","price": 19.9,"created_time": "2025-03-24 21:00:00"
}

6.2 根據 id 查詢 Document( GET _doc )

6.3 根據 id 局部更新 Document( POST _update )

驗證局部更新

6.4 根據 id 刪除 Document( DELETE _doc )

6.5 查詢

6.5.1 查詢 goods 所有 Document( GET _search )

6.5.2 條件查詢 goods 的 Document 內容( GET _search )

{"query":{"match":{"goods_name": "香蕉"}},"_source": ["price"]
}

6.5.3 分頁查詢 goods 所有 Document 內容( GET _search )

6.5.4 排序查詢 goods 所有 Document 內容( GET _search )( desc:降序,asc:升序 )

{"sort": {"price":{"order": "desc"}}
}

6.5.5 多條件查詢 goods 所有 Document 內容( GET _search )

{"query":{"bool":{"must":[{ "match":{ "goods_name":"西瓜" } },{ "match":{ "price":19.9 } }]}}
}

6.5.6 范圍查找 goods 所有 Document 內容( GET _search )

6.5.7 全文檢索 && 精確匹配 && 高亮顯示 ( GET _search )

6.5.8?聚合查詢 ( GET _search )

(1)平局值(avg)

(2)求和(sum)

(3)最大值/最小值(max/min)

(4)統計匯總(stats)

7. 分詞器

Standard(單字分詞)

standard

中,華,人,民,共,和,國,國,歌

IK(中文詞庫分詞)

ik_smart(最少切分)

中華人民共和國,國歌

ik_max_word(最細粒度劃分)

中華人民共和國。中華人民,中華,華人,人民...

7.1 下載 IK 中文分詞器

Index of: analysis-ik/stable/

7.2 使用 IK 分詞器

7.3 自定義分詞 (詞庫沒有“敖丙”,所以要自定義分詞)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76970.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matplotlib初探

庫引入 import matplotlib.pyplot as pltpyplot.figure 創建新圖形或激活現有圖形

NVM 多版本Node.js 管理全指南(Windows系統)

🧑 博主簡介:CSDN博客專家、全棧領域優質創作者、高級開發工程師、高級信息系統項目管理師、系統架構師,數學與應用數學專業,10年以上多種混合語言開發經驗,從事DICOM醫學影像開發領域多年,熟悉DICOM協議及…

實驗室預約|實驗室預約小程序|基于Java+vue微信小程序的實驗室預約管理系統設計與實現(源碼+數據庫+文檔)

實驗室預約小程序 目錄 基于微信小程序的實驗室預約管理系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、微信小程序前臺 2、管理員后臺 (1)管理員登錄 (2)實驗室管理 (3)公告信息管理…

SpringBoot底層-數據源自動配置類

SpringBoot默認使用Hikari連接池,當我們想要切換成Druid連接池,底層原理是怎樣呢 SpringBoot默認連接池——Hikari 在spring-boot-autoconfiguration包內有一個DataSourceConfiguraion配置類 abstract class DataSourceConfiguration {Configuration(p…

面試算法高頻03-遞歸

認識遞歸 遞歸的概念與特性:遞歸本質類似循環,是通過函數體進行的循環操作。借助電影《盜夢空間》類比,遞歸如同主角在不同夢境層穿梭,向下進入不同遞歸層,向上能回到原來一層,每一層環境和周圍元素相似&a…

linux Gitkraken 破解

ubuntu 安裝 Gitkraken 9.x Pro 版本_gitcracken.git-CSDN博客

設計模式簡述(十一)裝飾器模式

裝飾器模式 描述基本使用使用 描述 裝飾器模式是一種功能型模式 用于動態增強對象的功能 這么一說感覺上和代理模式有些類似 抽象裝飾器 要實現原有業務接口,并注入原有業務對象 至于對原有業務對象的調用,可以采用private業務對象 實現業務接口方法的…

【NetCore】ControllerBase:ASP.NET Core 中的基石類

ControllerBase:ASP.NET Core 中的基石類 一、什么是 ControllerBase?二、ControllerBase 的主要功能三、ControllerBase 的常用屬性四、ControllerBase 的常用方法2. 模型綁定與驗證3. 依賴注入五、ControllerBase 與 Controller 的區別六、實際開發中的最佳實踐七、總結在 …

DE2-115分秒計數器

一、模塊設計 如若不清楚怎么模塊化,請看https://blog.csdn.net/szyugly/article/details/146379170?spm1001.2014.3001.5501 1.1頂層模塊 module top_counter(input wire CLOCK_50, // 50MHz時鐘input wire KEY0, // 暫停/繼續按鍵out…

ubuntu git cola gui

直接的方法, samba, win 里用 tortoiseSVN 需要先在命令行,運行 git 命令,看到操作提示, 按照提示做 然后右鍵看 git diff 其它的方法 linux下可視化git工具git-cola安裝與使用(HTTP方式)_git…

每日一題(小白)回溯篇4

深度優先搜索題:找到最長的路徑,計算這樣的路徑有多少條(使用回溯) 分析題意可以得知,每次向前后左右走一步,直至走完16步就算一條走通路徑。要求條件是不能超出4*4的范圍,不能重復之前的路徑。…

【數據分享】2000—2020年我國250m精度灌溉農田柵格數據(免費獲取)

灌溉農田是指通過水利灌溉為農作物提供必要水分,以維持其生長需求的農田類型。灌溉農田占全球農田的20%,占全球糧食產量的40%。但其消耗了60%-70%的淡水和80%-90%的消耗性用水量。中國是世界上灌溉面積最大的農業大國,但中國僅占世界上8%的農…

MySQL-SQL-DML語句、INSER添加數據、UPDATE更新數據、DELETE刪除數據

一. DML 1. DML的英文全稱是Data Manipulation Language(數據操作語言),用來對數據庫中表的數據記錄進行增、刪、改操作。 2. 添加數據(INSERT);修改數據(UPDATE);刪除數據(DELETE) 二. DML-INSER添加數據 -- DML insert -- 指定字段添加數…

使用SymPy求解矩陣微分方程

引言 在數學、物理、工程等領域,微分方程常常被用來描述系統的變化和動態過程。對于多變量系統或者多方程系統,矩陣微分方程是非常常見的,它可以用來描述如電路、控制系統、振動系統等復雜的動態行為。今天,我們將通過Python 中的 SymPy 庫來求解矩陣微分方程,幫助大家輕…

Sentinel實戰(五)、系統保護規則、限流后統一處理及sentinel持久化配置

Spring Cloud Alibaba-Sentinel實戰(五)、系統保護規則、限流后統一處理及sentinel持久化配置 一、系統保護規則一)、系統規則支持的模式二)、新增系統規則界面三)、demo測試二、限流后統一處理實操demo三、sentinel持久化配一、系統保護規則 系統保護規則是從應用級別的…

【百日精通JAVA | SQL篇 | 第四篇】約束

SQL這一塊沒什么難度,主要是一個熟練度,稍微上點難度的地方,其實在于查,比較復雜,涉及到很多問題。 指定列插入 使用指定列插入的時候,未被指定的列使用默認值進行存儲,默認值為空。 默認值設置…

http協議版本的區別 -- 2和3

目錄 http2和http3的區別 傳輸層協議 QUIC協議 介紹 連接建立與握手 建立安全連接的過程 RTT 建連為什么需要兩個過程 原因 解決 QUIC協議的1-RTT 建連 必要性 連接過程 第一次握手(Client Hello) 版本號 key_share 其他 第二次握手 介紹 Server Hello 身…

21 天 Python 計劃:MySQL 庫相關操作

文章目錄 前言一、系統數據庫1. information_schema2. performance_schema3. mysql4. test 二、創建數據庫1. 語法2. 數據庫命名規則 三、數據庫相關操作1. 查看數據庫2. 選擇數據庫3. 刪除數據庫4. 修改數據庫 總結 前言 Python是一種強大且易于學習的編程語言。通過這個21天的…

手撕LLM(二):從源碼出發,探索LoRA加載、推理全流程

接上回接著說,前面我們通過分析源碼,了解了大模型推理的詳細流程,包括提示詞從輸入,到對話模版包裝,到tokenID轉換,到Embedding詞向量轉換;通過大模型推理,再將大模型輸出進行最后一…

WPS宏開發手冊——常見問題

目錄 系列文章6、常見問題 系列文章 使用、工程、模塊介紹 JSA語法 JSA語法練習題 Excel常用Api Excel實戰 常見問題 附錄 6、常見問題 6.1、編輯完宏后會自動保存,下次打開文件會提醒是否啟用宏,點擊啟用會自動加載上次編輯的…