es學習小結

1.?客戶端類型? ?推薦場景? ?版本兼容性?
Elasticsearch Java API Client 新項目、ES 8.x+集群 8.x及以上
Spring Data Elasticsearch Spring生態項目、簡化ORM操作 ES 7.x-8.x(需版本匹配)
Low-Level REST Client 需要底層HTTP控制、兼容多版本ES 全版本
high-level已經被棄用。

2.ik_smart 分出后不再細分。程序員
ik_max_word. 程序員 程序 員 多次遞歸分解。

3.ELK:
典型架構演變
?基礎架構?:
Beats/Logstash → Elasticsearch → Kibana
適用于小型系統,資源占用低,但缺乏緩沖和復雜處理能力

?生產級架構?:
Beats → Kafka → Logstash → Elasticsearch → Kibana
引入消息隊列(如Kafka)緩沖數據,支持高并發和大規模日志處理

?混合架構?:
結合Beats和Logstash優勢,Beats負責輕量采集,Logstash處理復雜過濾和格式轉換

4.原理:
構建了詞到text的映射:
在這里插入圖片描述
5.為什么使用nested object 嵌套對象
在這里插入圖片描述
es存儲時對 數組對象的屬性做了扁平化處理。
比如firstName 單獨生成一個數組,把其他對象的這個字段一起存起來。
這樣在嘗試多個屬性的與查詢時,會遇到非預期結果。
如圖,只要一個屬性匹配到就會出結果。

所以使用nested object.

“tie”表示“平局、膠著”,“break”意為“打破”。組合后指通過特定規則或操作解決勢均力敵的狀態,常見于以下場景:

?體育比賽?
如網球中“搶七”(tie-break):當雙方局分6:6時,通過搶七局決勝負,避免比賽無限延長
。規則要求選手至少領先2分(如7:5或8:6)才能勝出,體現對“絕對優勢”的要求。
其他應用:板球通過“超級輪”(super over)、足球通過點球大戰打破平局

?編程與算法?
在哈希沖突或排序邏輯中,當兩個對象的哈希值(hashCode)相同且無法直接比較時,需通過額外規則(如內存地址、插入順序)決定優先級,稱為“tie-break order”[^用戶代碼注釋]。
無論是體育還是Elasticsearch,tie break的本質都是通過規則設計,在平衡狀態中選擇更合理的勝出方。

參考來源: concurrentHashMap中的比較hash大小 以及 Elasticsearch:dis_max查詢與tie_breaker參數

在 Elasticsearch 的 Mapping 定義中,title 字段下定義的 sdt 是子字段(sub-field)?,而非子對象或子屬性。這是通過 fields 參數實現的多字段(multi-field)特性,允許一個字段以不同方式被索引和分析。

一、核心概念解析
?fields 的作用?
fields 參數允許為同一字段定義多個子字段
,每個子字段可指定不同的數據類型或分詞器。例如:
jsonjson復制markdown復制"title": {
“type”: “text”,
“analyzer”: “english”, // 主字段使用英文分詞器
“fields”: {
“sdt”: { // 子字段 sdt
“type”: “text”,
“analyzer”: “standard” // 使用標準分詞器
}
}
}

?主字段? title:默認使用 english 分詞器(如詞干提取、停用詞過濾)。
?子字段? title.sdt:使用 standard 分詞器(僅按空格分割,無詞干處理)。

這個是為實現multi-field 查詢而增加的子字段。(即表示此字段可以以其他類型或分詞方式去進行搜索。)

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

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

相關文章

Axure項目實戰:智慧運輸平臺后臺管理端-訂單管理2(多級交互)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝!如有幫助請訂閱專欄! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:訂單管理2 主要內容:中繼器篩選、表單跟隨菜單拖動、審批數據互通等 應用場景:訂單管理…

2025年——ComfyUI_連接HuggingFace及更改緩存路徑

本篇分享在 ComfyUI 中連接 huggingface 以及更改模型緩存路徑。 我們在使用 ComfyUI 的一些插件時,有些必要模型只能通過連接 huggingface 來緩存才能讓流程得以進行。但目前在上網不科學的情況下是無法打開 huggingface 網站的,好在國內有其鏡像網站&a…

wx.getPrivacySetting接口needAuthorization一直返回false

我們在開發小程序的隱私協議授權時往往會使用到wx.getPrivacySetting接口,當返回的needAuthorization為true時候提示我們需要去授權,但你們有沒有遇到過needAuthorization一直為false的情況呢,下面是最常見的三個解決方法,都完善了…

旅游信息檢索

旅游信息檢索 旅游信息檢索是系統中實現數據獲取和處理的關鍵環節,負責根據用戶輸入的目的地城市和出游天數,動態獲取并生成高質量的旅游數據。 模塊的工作流程分為以下幾個階段:首先,對用戶輸入的信息進行標準化處理&#xff0…

機器學習筆記【Week2】

一、多變量線性回歸(Multivariate Linear Regression) 為什么需要多變量? 現實問題中,一個目標可能受多個因素影響,比如預測房價時: x 1 x_1 x1?:面積 x 2 x_2 x2?:臥室數量 x 3…

Axure 基本用法學習筆記

一、元件操作基礎 1. 可見性控制 隱藏/顯示:可以設置元件的可見性,使元件在特定條件下隱藏或可見 應用場景:創建動態交互效果,如點擊按鈕顯示隱藏內容 2. 層級管理 層級概念:元件有上下層關系,上層元件…

aws平臺s3存儲桶夸域問題處理

當我們收到開發反饋s3存在跨域問題 解決步驟: 配置 S3 存儲桶的 CORS 設置: 登錄到 AWS 管理控制臺。轉到 S3 服務。選擇你存儲文件的 存儲桶。點擊 權限 標簽頁。在 跨域資源共享(CORS)配置 部分,點擊 編輯。 登陸…

【后端高階面經:微服務篇】7、1秒響應保障:超時控制如何成為高并發系統的“救火隊長”?

一、全鏈路超時建模:從用戶需求到系統分解 1.1 端到端時間預算分配 黃金公式: 用戶期望響應時間 = 網絡傳輸時間 + 服務處理時間 + 下游調用時間 + 緩沖時間典型分配策略(以1秒目標為例): 環節時間預算優化目標客戶端渲染100ms骨架屏(Skeleton)預渲染邊緣節點(CDN)…

前端遇到高并發如何解決重復請求

在前端開發中遇到高并發場景時,若不加控制容易出現重復請求,這可能導致接口壓力增加、數據異常、用戶體驗變差等問題。以下是前端防止/解決重復請求的常見方法,按不同場景歸類總結: 🌟 一、常見重復請求場景 用戶頻繁點…

老牌協議再升級,Ethernet IP轉Modbus TCP網關橋接精準灌裝系統

對于消費品包裝制造商而言,灌裝機是最關鍵且昂貴的設備之一。然而,許多公司卻難以應對生產過程中的灌裝波動,從而造成嚴重的財務和生產后果。 在本次網絡研討會中,我們將探討穩聯技術的ethernet ip轉modbus tcp(WL-ABC…

骰子游戲(2023睿抗省賽)

骰子游戲 題目描述: 在某個游戲中有一個骰子游戲。 在游戲中,你需要投擲 5 個標準六面骰子(骰子為一個正方體,6個面上分別有 1、2、3、4、5、6中的一個數字,骰子的質量均勻),投出的點數根據組合會獲得一…

CMake跨平臺編譯生成:從理論到實戰

一、引言 在當今軟件開發中,跨平臺開發已成為常態。無論是需要在Windows、Linux、macOS等多操作系統上運行,還是在不同的硬件架構(如x86、ARM等)間部署,跨平臺編譯生成都是一個無法回避的關鍵問題。CMake,…

Python經典算法實戰

在編程的世界里,算法是解決問題的靈魂,而Python以其簡潔優雅的語法成為實現算法的理想語言。無論你是初學者還是有一定經驗的開發者,《Python經典算法實戰》都能帶你深入算法的殿堂,從理論到實踐,一步步構建起扎實的編…

QT的自定義控件

1.比如對label控件進行提升為QPaintPointLabel類,基類選擇QLabel,頭文件建議加上相對路徑,有時候VS識別不出來直接的頭文件,在提升的類中重寫pointEvent()函數。

flutter 常用組件詳細介紹、屏幕適配方案

一、常用組件 1.基礎組件 組件說明示例Text顯示文本Text(‘Hello Flutter’, style: TextStyle(fontSize: 20))Image顯示圖片Image.network(‘https://example.com/image.jpg’)Icon顯示圖標Icon(Icons.home, size: 30, color: Colors.blue)RaisedButton / ElevatedButton按鈕…

leetcode 17. Letter Combinations of a Phone Number

題目描述 17. Letter Combinations of a Phone Number 代碼: class Solution {string table[10] {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz&qu…

Web前端大模型實戰:端側翻譯+朗讀流程線+模型音頻數據編碼 - 讓網站快速支持多語言多模態輸出

在以前的文章 前端大模型入門:實戰篇之Vue3Antdvtransformers本地模型實現增強搜索 中介紹了前端使用大模型的文本RAG實現。本文將更進一步,介紹多模態輸出的端側實現。 本文將通過端側大模型技術實現網頁端的實時翻譯與語音合成功能,無需服…

Python包管理工具uv 國內源配置

macOS 下 .config/uv/uv.toml內 pip源 [[index]] url "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/" default true#uv python install 下載源配置無效,需要在項目里配置 # python-install-mirror "https://mirror.nju.edu.cn/githu…

用戶有一個Django模型沒有設置主鍵,現在需要設置主鍵。

用戶有一個Django模型沒有設置主鍵,現在需要設置主鍵。 from django.db import modelsclass CategoryAssistentModel(models.Model):second_level_category models.CharField(max_length100, nullTrue, blankTrue)third_level_category models.CharField(max_len…

搭建 C/C++_CMake_Boost_git 開發環境

搭建 C 開發環境 步驟 1:啟動 Ubuntu 18.04 容器 創建并啟動一個 Ubuntu 18.04 容器: docker run -itd --name cppubuntu ubuntu:18.04-itd:以交互模式運行容器,并在后臺運行。--name cppubuntu:命名容器為 cppubun…