ES|QL,知道嗎,專為搜索而生 —— 推出評分和語義搜索

作者:來自 Elastic?Ioana Tagirta

在 Elasticsearch 8.18 和 9.0 中,ES|QL 支持評分、語義搜索以及更多的 match 函數配置選項,還有一個新的 KQL 函數。

使用 ES|QL 搜索

在 Elasticsearch 8.18 和 9.0 中,ES|QL 增加了一系列新功能,包括:

  • 支持評分

  • 語義搜索

  • 更多的 match 函數配置選項

  • 一個新的 KQL 函數

在這篇博客中,我們將回顧 8.18 版本的功能以及我們計劃添加到 ES|QL 的其他令人興奮的新功能,進一步加強我們對將 ES|QL 打造成一個現代搜索語言的投資,以滿足你的需求,無論你是在構建一個由 ES|QL 提供支持的搜索應用程序,還是在 Kibana Discover 中分析數據。

介紹評分

在 8.17 版本中,我們增加了使用全文文本函數過濾文檔的功能。如果你不熟悉 ES|QL 中的全文文本過濾,我們建議閱讀我們關于它的原創博客文章。

在 8.18 和 9.0 中,我們引入了對評分的支持,使得能夠根據相關性排序返回文檔。要訪問每個文檔的得分,只需在 ES|QL 查詢中添加元數據 _score 字段:

FROM books METADATA _score
| WHERE match(title, "Shakespeare") OR match(plot, "Shakespeare")
| SORT _score DESC

我們獲取的得分與從等效的 search API 查詢中獲得的得分相同:

GET books/_search
{"query": {"bool": {"should": [{"match": {"title": "Shakespeare"}},{"match": {"title": "Shakespeare"}}]}}
}

全文本搜索函數,如 match、qstr 和 kql 只能在 WHERE 條件中使用,并且是唯一能影響得分的函數。

_score 列不僅可以用于按相關性排序文檔,還可以用于自定義評分公式。在下一個示例中,我們使用得分閾值僅保留最相關的結果,然后根據讀者評分添加得分加成:

FROM books METADATA _score
| WHERE match(title, "Shakespeare") OR match(plot, "Shakespeare")
| WHERE _score > 2 // we remove the documents with low scores
| EVAL new_score = _score + rating/5
| SORT new_score DESC

改進 match 函數

在 ES|QL 中,match 函數僅僅是轉化為一個Query DSL 的 match 查詢。在 8.18 和 9.0 中,我們擴展了 match 函數的功能,包含了當前在 Query DSL 中可用的所有選項。現在,在 ES|QL 中也可以設置常用的 match 選項,如 boost、fuzziness 和 operator:

FROM books METADATA _score
| WHERE match(title, "Dream of the red chamber", { "operator": "AND", "fuzziness": "AUTO", "boost": 0.75 })OR match(plot, "Dream of the read chamber", { "operator": "AND", "boost": 0.25 })
| SORT _score DESC

進入語義搜索

8.18 版本帶來了令人興奮的消息,語義搜索現在正式可用。我們擴展了 match 函數,支持在 semantic_text 字段類型上進行查詢。

在 ES|QL 中,執行語義查詢(semantic query)現在和執行全文查詢一樣簡單,如下例所示:

FROM books METADATA _score
| WHERE semantic_title:"Shakespeare"
| SORT _score DESC

在這個示例中,我們將 semantic_title 設置為使用 semantic_text 字段類型。

將索引字段映射為 semantic_text 就是為語義搜索設置索引所需的全部操作。

查看我們的語義文本搜索教程,了解更多細節。

ES|QL 混合搜索

ES|QL 使得同時進行語義搜索和詞匯搜索變得簡單。根據你的用例,也可以設置不同的加權,優先顯示來自語義搜索或詞匯搜索的結果:

FROM books METADATA _score
| WHERE match(semantic_title, "Shakespeare", { "boost": 0.75 }) OR match(title, "Shakespeare", { "boost": 0.25 })
| SORT _score DESC

從 KQL 過渡

如果你是 Kibana Discover 的長期用戶,并且使用 KQL(Kibana Query Language)來查詢和可視化數據,同時你想嘗試 ES|QL 但不知道從哪里開始,別擔心,我們來幫你!

在 8.18 和 9.0 中,ES|QL 增加了一個新功能,允許你在 ES|QL 中使用 KQL。操作就像這樣簡單:

FROM logs*
| WHERE KQL("http.request.method:GET AND agent.type:filebeat")

ES|QL 已經在 Kibana Discover 中可用。

這樣,你可以同時享受兩者的優點:你可以繼續使用 KQL,并且可以按自己的節奏開始更熟悉 ES|QL。

查看我們的 ES|QL 入門指南,獲取更多信息。

8.18 和 9.0 及以后版本

在未來的版本中,我們將為 ES|QL 添加越來越多的搜索功能,包括向量搜索、語義重新排序、增強的評分自定義選項,以及結合混合搜索結果的額外方法,例如倒排排名融合(RRF)。

親自嘗試

這些變化從 Elasticsearch 8.18 開始可用,但它們已經可以在 Elasticsearch Serverless 中使用。對于 Elasticsearch Serverless,今天就開始免費的云試用,或者現在就嘗試在本地機器上使用 Elastic!

跟隨《在 ES|QL 中搜索和過濾》教程,親自體驗這篇博客中描述的功能!

Elasticsearch 擁有豐富的新功能,幫助你為你的用例構建最佳的搜索解決方案。深入了解我們的示例筆記本,了解更多內容,開始免費的云試用,或者現在就嘗試在本地機器上使用 Elastic。

原文:ES|QL, you know, for Search - Introducing scoring and semantic search - Elasticsearch Labs

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

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

相關文章

MIT6.S081-lab4

MIT6.S081-lab4 注:本篇lab的前置知識在《MIT6.S081-lab3前置》 1. RISC-V assembly 第一個問題 Which registers contain arguments to functions? For example, which register holds 13 in main’s call to printf? 我們先來看看main干了什么: …

一文總結通信電路中LC諧振回路中各公式以及對深入解讀品質因數Q

目錄 前言 一、基本公式總結 1.并聯諧振回路 2.串聯諧振回路 二、淺談品質因數 1.衡量諧振回路能量存儲與能量損耗之比的無量綱參數,用于描述諧振電路的頻率選擇性 2.當受到振蕩驅動力時,諧振腔的中心頻率與其帶寬的比值 3.為什么諧振時電容上的…

Linux:文件系統

一.認識硬件–磁盤 1. 物理結構 1.2 存儲結構 ?如何定位?個扇區呢? 可以先定位磁頭(header)——》確定磁頭要訪問哪?個柱?(磁道)(cylinder)——》 定位?個扇區(sector)。 柱?(cylinder&#xff09…

數字孿生廢氣處理工藝流程

圖撲數字孿生廢氣處理工藝流程系統。通過精準 3D 建模,對廢氣收集、預處理、凈化、排放等全流程進行 1:1 數字化復刻,實時呈現設備運行參數、污染物濃度變化等關鍵數據。 借助圖撲可視化界面,管理者可直觀掌握廢氣處理各環節狀態&#xff0c…

Scratch——第18課 列表接龍問題

在四級的考級中,接龍的題目雖然在CIE中只出現過兩次,但是這類題目對字符串的知識點考察相對全面。 一、接龍游戲的判斷方法 接龍的內容對應的字符數 ? 已接龍內容的字符數 滿足條件>接龍內容的第一個字符數 ? 上一項接龍的最后一個字符 滿足條件…

webgl入門實例-向量在圖形學中的核心作用

在圖形學中,向量是描述幾何、光照、運動等核心概念的基礎工具。以下是向量在圖形學中的關鍵應用和深入解析: 1. 向量的核心作用 幾何表示:描述點、方向、法線、切線等。空間變換:平移、旋轉、縮放等操作依賴向量運算。光照計算&a…

Redis 是如何保證線程安全的?

Redis 是如何保證線程安全的? Redis 是一個高性能的鍵值數據庫,廣泛應用于緩存、消息隊列、實時分析等場景。由于其性能優勢,Redis 已經成為許多系統的核心組件之一。然而,很多開發者在使用 Redis 時,常常會問&#x…

Img2img-turbo 在2080Ti上的測試筆記

1. 介紹 [img2img-turbo]是[pytorch-CycleGAN-and-pix2pix]推薦的更新的圖像變換的代碼實現; 2. 配置信息 Conda環境名稱:img2img-turbo 3. 問題描述 當前在我們嘗試使用了官方推薦的訓練命令在2080Ti上進行訓練, 3.1 出現了 CUDA out …

代碼隨想錄算法訓練營第三十五天|416. 分割等和子集、698.劃分為k個相等的子集、473.火柴拼正方形

今日題目 416. 分割等和子集 題目鏈接:416. 分割等和子集 - 力扣(LeetCode) 思考:本題要將數組分為兩個子數組,且兩個子數組和相等,因此首先可以想到的條件就是數組可分為兩個,這要求數組元素數…

純CSS實現自動滾動到底部

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>自動滾動到底部</title><style>*…

【新人系列】Golang 入門(十五):類型斷言

? 個人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 專欄地址&#xff1a;https://blog.csdn.net/newin2020/category_12898955.html &#x1f4e3; 專欄定位&#xff1a;為 0 基礎剛入門 Golang 的小伙伴提供詳細的講解&#xff0c;也歡迎大佬們…

AI大模型發展現狀與MCP協議誕生的技術演進

1. 大模型能力邊界與用戶痛點&#xff08;2023年&#xff09; 代表模型&#xff1a;GPT-4&#xff08;OpenAI&#xff09;、Claude 3&#xff08;Anthropic&#xff09;、通義千問&#xff08;阿里云&#xff09;等展現出強大的生成能力&#xff0c;但存在明顯局限&#xff1a…

深入理解Linux中的線程控制:多線程編程的實戰技巧

個人主頁&#xff1a;chian-ocean 文章專欄-Linux 前言&#xff1a; POSIX線程&#xff08;Pthreads&#xff09; 是一種在 POSIX 標準下定義的線程庫&#xff0c;它為多線程編程提供了統一的接口&#xff0c;主要用于 UNIX 和類 UNIX 系統&#xff08;如 Linux、MacOS 和 BS…

(mac)Grafana監控系統之監控Linux的Redis

Grafana安裝-CSDN博客 普羅米修斯Prometheus監控安裝&#xff08;mac&#xff09;-CSDN博客 1.Redis_exporter安裝 直接下載 wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz 解壓 tar -xvf redis_…

鴻蒙應用元服務開發-Account Kit未成年人模式訂閱和處理用戶信息變更

一、概述 通過訂閱用戶信息變更&#xff0c;您可以接收有關用戶及其賬戶的重要更新。當用戶取消元服務的授權信息、注銷華為賬號時&#xff0c;華為賬號服務器會發送通知到元服務&#xff0c;元服務可以根據通知消息進行自身業務處理。 二、用戶信息變更事件介紹 三、訂閱用…

buildroot構建根文件系統報錯(已解決大部分問題)

title: buildroot構建根文件系統報錯(set FORCE_UNSAFE_CONFIGURE1) author: cbus categories: 小知識 tags:小知識 abbrlink: 53691 date: 2025-04-20 08:03:00 錯誤1 set FORCE_UNSAFE_CONFIGURE1 在使用buildroot構建根文件系統時&#xff0c;一切按照文檔的配置&#xff0…

7.QT-常用控件-QWidget|font|toolTip|focusPolicy|styleSheet(C++)

font API說明font()獲取當前widget的字體信息.返回QFont對象.setFont(const QFont& font)設置當前widget的字體信息. 屬性說明family字體家族.?如"楷體",“宋體”,"微軟雅?"等.pointSize字體??weight字體粗細.以數值?式表?粗細程度取值范圍為[…

通過面向目標的獎勵彌合人與機器人的靈活性差距

24年10月來自紐約大學的論文“Bridging the Human to Robot Dexterity Gap through Object-Oriented Rewards”。 直接通過人類視頻訓練機器人是機器人技術和計算機視覺領域的一個新興領域。盡管雙指機械手在雙指夾持器方面取得了顯著進展&#xff0c;但以這種方式讓多指機械手…

C++入門篇(下)

目錄 1、引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用場景 1.4.1 引用做參數 1.4.2 引用做返回值 1.5 引用和指針的區別 2、內聯函數 2.1 概念 2.2 特性 3、auto關鍵字 4、基于范圍的for循環 5、指針空值nullptr 5.1 C98 中的指針空值處理 5.2 C11 …

Multi-Query Attention (MQA) PyTorch 實現

和多頭注意力機制的唯一區別&#xff1a;K、V在不同的head之間實現了復用&#xff0c;而對于不同的頭&#xff0c;Q依然不同。 因此這里的代碼和標準多頭注意力的實現也是幾乎完全一樣&#xff1a; import torch import torch.nn as nn import torch.nn.functional as Fclass…