本文檔系統解析了智能OpenSearchOpenSearch-行業演算法版中核心功能子句的設計邏輯與應用方法。通過模組化拆解,協助使用者理解各子句的核心能力與協同機制,快速構建高效、靈活的搜尋解決方案。
向量召回
為了滿足更多元化、更複雜的業務情境,OpenSearch推出向量檢索功能,在特定的業務情境下(特別是教育搜題情境、圖片搜尋情境),可以結合多路搜尋功能,提升搜尋結果的準確率。詳情請參見向量召回。
索引召回
query子句
是搜尋語句中不可缺少的一部分。它表示在哪個索引欄位下查詢什麼內容,並且可以指定多個查詢條件及其之間的關係(AND \ OR \ ANDNOT \ RANK)。
模糊搜尋
模糊搜尋是指在使用者搜尋意圖不明確時,搜尋引擎將使用者的查詢(query)與待檢索的內容(doc)進行模糊比對,找出與查詢相關的內容。
Range範圍查詢
滿足業務情境中會涉及到區間範圍查詢的需求。
結果過濾-filter子句
過濾功能支援使用者根據查詢條件,篩選出使用者感興趣的文檔。會再通過query子句尋找到的文檔進行進一步的過濾,以返回最終所需結果。詳情請參見結果過濾-filter子句。
分組統計-aggregate子句
一個關鍵詞查詢後可能會找到數以萬計的文檔,使用者不太可能瀏覽所有文檔以擷取所需資訊。在某些情況下,使用者可能更關心的是一些統計資料。詳情請參見分組統計-aggregate子句。
彙總打散-distinct子句
打散子句可以在一定程度上保證展示結果的多樣性,以提升使用者體驗。如一次查詢可以查出很多的文檔,但是如果某個使用者的多個文檔分值都比較高,則都排在了前面,導致一頁中所展示的結果幾乎都屬於同一使用者,這樣既不利於結果展示也不利於使用者體驗。對此,打散子句可以對每個使用者的文檔進行抽取,使得每個使用者都有展示文檔的機會。詳情請參見彙總打散-distinct子句。
全域排序-sort子句
使用者可以通過查詢語句控制結果的排序方式,包括指定排序的欄位和升降序。詳情請參見全域排序-sort子句。
自訂傳參-kvpairs子句
為便於通過查詢語句傳遞資訊給具體的特徵函數,使用者可以在kvpairs子句中對排序運算式中的可變部分進行參數定義。詳情請參見自訂傳參-kvpairs子句。
查詢翻頁-config子句
config部分可以指定查詢結果的起始位置、返回結果的數量、展現結果的格式、參與精排運算式文檔個數等。詳情請參見查詢翻頁-config子句。
大量匯出文檔-scroll方法
傳統搜尋情境的主要目的是為了盡量短的時間內召回最符合的結果,所以對搜尋結果進行了限制,例如 search方法最多隻能召回5000條文檔。在某些情境下需要提供更多的結果來進行分析工作,可以使用scroll介面來擷取更多的結果。詳情請參見大量匯出文檔-scroll方法。