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

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

政府網(wǎng)站集約化平臺推廣策略都有哪些

政府網(wǎng)站集約化,平臺推廣策略都有哪些,總代理項目,wordpress高級教程數(shù)據(jù)庫管理285期 20245-01-17 數(shù)據(jù)庫管理-第285期 Oracle 23ai:深入淺出向量索引(20250117)1 HNSW事務(wù)支持解讀 2 IVF分區(qū)支持解讀 3 混合向量索引何時選擇混合向量索引為何選擇混合向量索引 總結(jié) 數(shù)據(jù)庫管理-第285期 Oracle 23ai&#xff1a…

數(shù)據(jù)庫管理285期 20245-01-17

  • 數(shù)據(jù)庫管理-第285期 Oracle 23ai:深入淺出向量索引(20250117)
    • 1 HNSW
      • 事務(wù)支持
      • 解讀
    • 2 IVF
      • 分區(qū)支持
      • 解讀
    • 3 混合向量索引
      • 何時選擇混合向量索引
      • 為何選擇混合向量索引
    • 總結(jié)

數(shù)據(jù)庫管理-第285期 Oracle 23ai:深入淺出向量索引(20250117)

作者:胖頭魚的魚缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE Partner10年數(shù)據(jù)庫行業(yè)經(jīng)驗
擁有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等認證
墨天輪MVP,ITPUB認證專家
圈內(nèi)擁有“總監(jiān)”稱號,非著名社恐(社交恐怖分子)公眾號:胖頭魚的魚缸
CSDN:胖頭魚的魚缸(尹海文)
墨天輪:胖頭魚的魚缸
ITPUB:yhw1809。
除授權(quán)轉(zhuǎn)載并標明出處外,均為“非法”抄襲

胖頭魚的魚缸_01.png
之前寫Oracle Vector DB和AI Vector Search相關(guān)文章的時候,似乎一直沒有針對向量近似相似性搜索的性能優(yōu)化進行介紹,對于數(shù)據(jù)庫來說,加速數(shù)據(jù)查詢最便捷的方式就是增加索引,那么向量的索引和傳統(tǒng)標量數(shù)據(jù)的索引有什么異同呢,本期和總監(jiān)一起學(xué)習(xí)。(本文大部分內(nèi)容源自于Oracle官方文檔)

1 HNSW

HNS,Navigable Small World,可譯作可導(dǎo)航小世界,其理念是構(gòu)建一個鄰近圖,其中圖中的每個向量根據(jù)下面3個特征連接到其他幾個向量:

  • 向量之間的距離
  • 插入期間搜索的每個步驟中考慮的最近向量候選的最大數(shù)量 (EFCONSTRUCTION)
  • 每個向量允許的最大連接數(shù) (NEIGHBORS)

如果上述兩個閾值的組合過高,則最終可能會得到一個緊密連接的圖,這會減慢搜索過程。另一方面,如果這些閾值的組合過低,則圖可能會變得過于稀疏和/或斷開連接,這使得在搜索過程中很難找到某些向量之間的路徑。
用于向量搜索的可導(dǎo)航小世界 (NSW) 圖遍歷從圖中預(yù)定義的入口點開始,訪問一組密切相關(guān)的向量。搜索算法采用兩個關(guān)鍵列表:候選列表(遍歷圖時遇到的動態(tài)更新向量列表)和結(jié)果列表(包含迄今為止找到的與查詢向量最接近的向量)。隨著搜索的進行,算法會瀏覽整個圖,通過探索和評估可能比結(jié)果中的向量更近的向量來不斷優(yōu)化候選列表。一旦候選列表中沒有比結(jié)果中最遠的向量更近的向量,則該過程結(jié)束,這表明已達到局部最小值并已確定與查詢向量最接近的向量。下圖對這一點進行了展示:
image.png
所述方法在將向量插入到圖中的一定規(guī)模時表現(xiàn)出穩(wěn)健的性能。超過此閾值后,分層可導(dǎo)航小世界 (HNSW,Hierarchical Navigable Small World) 方法通過引入多層層次結(jié)構(gòu)來增強 NSW 模型,類似于概率跳躍列表中觀察到的結(jié)構(gòu)。此分層架構(gòu)是通過將圖的連接分布在多個層上來實現(xiàn)的,并以每個后續(xù)層包含來自下一層鏈接子集的方式組織它們。這種分層確保頂層捕獲長距離鏈接,有效地充當(dāng)圖中的快速路徑,而較低層則專注于較短的鏈接,從而促進細粒度的本地導(dǎo)航。因此,搜索從較高層開始,以快速近似目標向量的區(qū)域,逐漸移動到較低層以進行更精確的搜索,通過利用從頂層移動到底層時向量之間的較短鏈接(較小距離),顯著提高搜索效率和準確性。為了更好地理解 HNSW 的工作原理,讓我們看看此層次結(jié)構(gòu)如何用于概率跳過列表結(jié)構(gòu):
image.png
概率跳躍表結(jié)構(gòu)使用多層鏈接列表,其中上層跳過的數(shù)字比下層跳過的數(shù)字多。在此示例中,要搜索數(shù)字 17。從頂層開始,然后跳轉(zhuǎn)到下一個元素,直到找到 17、到達列表末尾或找到大于 17 的數(shù)字。當(dāng)?shù)竭_列表末尾或找到大于 17 的數(shù)字時,則從上一層中最新的小于 17 的數(shù)字開始。
HNSW 使用與 NSW 層相同的原理,即較高層中的向量之間的距離較大。以下 2D 空間中的圖表說明了這一點:
最頂層是最長的邊,最底層是最短的邊。
image.png
從頂層開始,一層中的搜索從入口向量開始。然后對于每個節(jié)點,如果有一個鄰居比當(dāng)前節(jié)點更接近查詢向量,則跳轉(zhuǎn)到該鄰居。算法一直這樣做,直到找到查詢向量的局部最小值。當(dāng)在一層中找到局部最小值時,搜索將使用新層中的相同向量轉(zhuǎn)到下一層,并在該層中繼續(xù)搜索。此過程重復(fù)進行,直到找到底層的局部最小值,其中包含所有向量。此時,搜索轉(zhuǎn)換為使用NSW算法圍繞最新找到的局部最小值進行近似相似性搜索,以提取與查詢向量最相似的前k個向量。雖然上層可以具有NEIGHBORS參數(shù)設(shè)置的每個向量的最大連接數(shù),但第0層可以具有兩倍的連接數(shù)。下圖說明了此過程:
image.png
層是使用內(nèi)存圖(而非 Oracle 內(nèi)存圖)實現(xiàn)的。每個層都使用單獨的內(nèi)存圖。如前所述,在創(chuàng)建HNSW索引時,可以使用 NEIGHBORS 參數(shù)微調(diào)上層中每個向量的最大連接數(shù),以及使用EFCONSTRUCTION參數(shù)微調(diào)插入期間搜索的每個步驟中考慮的最近向量候選的最大數(shù)量,其中EF代表Enter Factor。
如前所述,在使用Oracle AI Vector Search使用HNSW索引運行近似搜索查詢時,可以指定應(yīng)執(zhí)行近似搜索的目標精度。
對于HNSW近似搜索,可以指定目標精度百分比值來影響探測搜索時考慮的候選數(shù)。這是由算法自動計算的。值為 100 往往會產(chǎn)生與精確搜索類似的結(jié)果,盡管系統(tǒng)可能仍會使用索引并且不會執(zhí)行精確搜索。優(yōu)化器可能會選擇繼續(xù)使用索引,因為考慮到查詢中的謂詞,這樣做可能會更快??梢灾付‥FSEARCH參數(shù)來規(guī)定在探測索引時要考慮的候選的最大數(shù)量,而不是指定目標準確度百分比值。該數(shù)字越高,準確度越高。

注意:
· 如果未在近似搜索查詢中指定任何目標精度,那么將繼承創(chuàng)建索引時設(shè)置的目標精度。將看到,在創(chuàng)建索引時,可以根據(jù)要創(chuàng)建的索引類型使用百分比值或參數(shù)值指定目標精度。
· 與索引創(chuàng)建時設(shè)置的目標精度相比,在索引搜索時可以指定不同的目標精度。對于HNSW索引,可以使用EFSEARCH參數(shù)(高于索引創(chuàng)建時指定的EFCONSTRUCTION值)查看更多鄰居以獲得更準確的結(jié)果。在索引創(chuàng)建期間提供的目標精度決定了索引創(chuàng)建參數(shù),并且還充當(dāng)向量索引搜索的默認精度值。

事務(wù)支持

HNSW索引圖是靜態(tài)的純內(nèi)存結(jié)構(gòu)。使用兩個主要結(jié)構(gòu)對具有 HNSW 索引的表進行事務(wù)維護:私有日志(private journal)和共享日志(shared journal)。

  • 私有日志是每個事務(wù)的內(nèi)存數(shù)據(jù)結(jié)構(gòu),用于跟蹤由事務(wù)添加或刪除的向量(更新實際上是刪除后插入)。這類似于用于維護內(nèi)存列存儲數(shù)據(jù)的事務(wù)日志。這些內(nèi)存結(jié)構(gòu)來自向量內(nèi)存池,用于讀取一致性目的。
  • 共享日志包含提交系統(tǒng)更改號(SCN)和相應(yīng)的修改行。此結(jié)構(gòu)是在創(chuàng)建向量索引時創(chuàng)建的磁盤結(jié)構(gòu)。在提交時,記錄到私有日志中的更改將轉(zhuǎn)換為行并刷新到共享日志中。此結(jié)構(gòu)還用于讀取一致性目的。
注意:
· 對于批量DML(使用 INSERT /*+ APPEND */ 直接加載),更改會直接在共享日志中跟蹤,以避免對向量內(nèi)存池造成壓力。
· 在完全重新填充時(直到新的HNSW圖可用),如果查詢嘗試訪問不再存在的舊版本的HNSW圖,則會觸發(fā)讀取一致性錯誤ORA 51815 "INMEMORY NEIGHBOR GRAPH HNSW vector index snapshot is too old"。
例如,假設(shè)舊的HNSW圖存在于SCN 100。雖然完全重新填充會在SCN 200處構(gòu)建新圖(這將創(chuàng)建新的ROWID到VID映射表),但到達SCN 150的查詢無法訪問 SCN 200 處的新圖。這是因為查詢的執(zhí)行計劃是使用與SCN 100處的舊圖相對應(yīng)的舊ROWID到VID映射表編譯的。

除了先前定義的主要用于事務(wù)一致性的結(jié)構(gòu)之外,還可以維護完整的檢查點磁盤結(jié)構(gòu)(如果啟用),以便在實例重啟后更快地重新加載HNSW索引。在創(chuàng)建索引并完全重新填充 HNSW 圖時,會自動創(chuàng)建完整的檢查點。默認情況下,HNSW 檢查點處于啟用狀態(tài)。
如何將先前定義的結(jié)構(gòu)相互結(jié)合使用,以便在具有HNSW索引的表上實現(xiàn)事務(wù)維護和讀取一致性的整體更好性能:

  1. 按照DML,通過考慮內(nèi)存中現(xiàn)有的HNSW圖以及查詢的私有日志和共享日志來確定事務(wù)一致的已刪除和插入向量集列表,從而實現(xiàn)讀取一致性。這包括從日志中識別已刪除向量的精確列表,通過增強過濾器以忽略已刪除向量,對當(dāng)前版本的HNSW索引運行近似 top-K 搜索,對日志中新插入的向量運行精確top-k搜索,并合并兩次搜索的結(jié)果。
    image.png
  2. 隨著DML在共享日志中積累,在磁盤日志中精確搜索已刪除和插入的向量會導(dǎo)致其性能下降。為了最大限度地減少這種影響,會自動觸發(fā)索引的完整重新填充。在后臺重新填充HNSW索引的決定基于一個默認閾值,該閾值代表針對索引運行的DML數(shù)量的一定百分比。此外,每次創(chuàng)建或重新填充HNSW索引時,都會在磁盤上重新創(chuàng)建新創(chuàng)建的圖形的完整檢查點和新的ROWID到VID映射表。
    image.png
注意:
在完全重新填充期間,內(nèi)存中需要兩個圖形副本。例如,如果我們有10%的新插入,那么重新填充圖形的向量內(nèi)存需求將比內(nèi)存中原始HNSW圖形大小大約多10%。因此,在重新填充期間的峰值向量內(nèi)存需求下,內(nèi)存需求將是2.1倍,而在重新填充完成后,內(nèi)存需求將降至1.1倍。這樣做是為了確保在創(chuàng)建新圖形時仍可以使用先前版本的圖形實現(xiàn)讀取一致性。

解讀

從HNSW索引的概念來看,要支持DML的難度和開銷還是很大的。因此在很多數(shù)據(jù)庫(前提是支持向量DML操作)中,在存儲有向量數(shù)據(jù)的表上建立HNSW索引后,是不允許再進行DML操作的,DML操作也需要刪除后重建HNSW索引。而在Oracle 23.4和23.5中,對于在向量列上構(gòu)建了HNSW索引的表,也是不允許使用DML。HNSW支持DML操作功能是在23.6實現(xiàn)的。

2 IVF

IVF,Inverted File Flat,可譯作倒排文件平面,IVF向量索引是一種通過使用鄰居分區(qū)或集群來縮小搜索區(qū)域以提高搜索效率的技術(shù)。下圖描述了使用二維空間表示進行近似搜索時如何創(chuàng)建分區(qū)或聚類。但這可以推廣到更高維的空間。
image.png
×表示此空間中的向量數(shù)據(jù)點。
添加新數(shù)據(jù)點(顯示為小圓圈)以識別k個分區(qū)質(zhì)心,其中質(zhì)心的數(shù)量(k)由數(shù)據(jù)集的大小(n)決定。通常,k設(shè)置為 n 的平方根,但可以在創(chuàng)建索引期間通過指定NEIGHBOR PARTITIONS參數(shù)進行調(diào)整。
每個質(zhì)心代表相應(yīng)分區(qū)的平均向量(重心)。
質(zhì)心是通過對向量進行訓(xùn)練計算得出的,其目標是最小化每個向量與最近質(zhì)心的總距離。
質(zhì)心最終將向量空間劃分為k個分區(qū)。這種劃分在概念上表現(xiàn)為從質(zhì)心擴展的圓圈,當(dāng)它們相遇時停止增長,形成不同的分區(qū)。

image.png
除了外圍的向量之外,每個向量都落在與質(zhì)心相關(guān)的特定分區(qū)內(nèi)。

image.png
對于查詢向量vq?,搜索算法會識別最近的i個質(zhì)心,其中i默認為k的平方根,但可以通過設(shè)置NEIGHBOR PARTITION PROBES參數(shù)針對特定查詢進行調(diào)整。此調(diào)整允許在搜索速度和準確性之間進行權(quán)衡。
此參數(shù)的數(shù)字越大,準確性越高。在此示例中,i設(shè)置為2,兩個已識別的分區(qū)是分區(qū)編號1和3。

image.png
一旦確定了i個分區(qū),就會對它們進行全面掃描,以識別出本例中前5個最近的向量。這個數(shù)字5可以與k不同,可以在查詢中指定這個數(shù)字。下圖突出顯示了在分區(qū)編號1和3中找到的離vq最近的五個向量。
此方法構(gòu)成近似搜索,因為它將搜索限制在分區(qū)的子集內(nèi),從而加速了搜索過程,但可能會在未檢查的分區(qū)中丟失更接近的向量。此示例說明近似搜索可能無法產(chǎn)生離vq?最近的準確向量,這表明搜索效率和準確性之間存在固有的權(quán)衡。

image.png
但是,距離vq最近的5個向量并不是通過近似搜索找到的向量??梢钥吹椒謪^(qū)號4中的一個向量比分區(qū)號3中檢索到的向量之一更接近vq。

image.png
現(xiàn)在可以看到為什么使用向量索引搜索并不總是精確搜索,而是近似搜索。在此示例中,近似搜索準確率僅為 80%,因為它僅檢索了5個精確搜索向量結(jié)果中的4個。

image.png
使用Oracle AI Vector Search運行使用向量索引的近似搜索查詢時,可以指定近似搜索應(yīng)執(zhí)行的目標精度。
對于IVF近似搜索,可以指定目標精度百分比值來影響用于探測搜索的分區(qū)數(shù)。該值由算法自動計算。值為100時,系統(tǒng)可能會強制執(zhí)行精確搜索,但系統(tǒng)仍可能使用索引,不會執(zhí)行精確搜索。優(yōu)化器可能會選擇繼續(xù)使用索引,因為考慮到查詢中的謂詞,這樣做可能會更快??梢灾付∟EIGHBOR PARTITION PROBES參數(shù)來強制搜索要探測的分區(qū)的最大數(shù)量,而不是指定目標精度百分比值。該數(shù)字越高,精度越高。

注意:
· 如果未在近似搜索查詢中指定任何目標精度,那么將繼承創(chuàng)建索引時設(shè)置的目標精度。將看到,在創(chuàng)建索引時,可以根據(jù)要創(chuàng)建的索引類型使用百分比值或參數(shù)值指定目標精度。
· 與索引創(chuàng)建時設(shè)置的目標精度相比,可以在索引搜索時指定不同的目標精度。對于 IVF 索引,可以使用NEIGHBOR PARTITION PROBES參數(shù)探測更多質(zhì)心分區(qū)以獲得更準確的結(jié)果。在索引創(chuàng)建期間提供的目標精度決定了索引創(chuàng)建參數(shù),并且還充當(dāng)向量索引搜索的默認精度值。

分區(qū)支持

IVF向量索引支持分區(qū)表上的全局和本地索引。默認情況下,IVF索引按質(zhì)心全局分區(qū)。
全局IVF索引由兩個表組成:

  • 一個名為VECTOR$<base table name>_IVF_IDX$<object info>$IVF_FLAT_CENTROIDS,包含已識別質(zhì)心向量和相關(guān)ID的列表。
  • 第二個名為VECTOR$<base table name>_IVF_IDX$<object info>$IVF_FLAT_CENTROID_PARTITIONS,它按質(zhì)心 ID 進行列表分區(qū)。每個分區(qū)包含與該分區(qū)的相應(yīng)質(zhì)心ID緊密相關(guān)(集群)的基表向量。

image.png
此結(jié)構(gòu)用于加速索引中的搜索,方法是首先識別最接近查詢向量的質(zhì)心,然后使用相應(yīng)的質(zhì)心ID修剪不必要的分區(qū)。
但是,如果基表按某些關(guān)系數(shù)據(jù)進行分區(qū),并且查詢按基表分區(qū)鍵進行過濾,則全局 IVF 索引不是最佳選擇,因為它們完全獨立于基表分區(qū)鍵。例如,如果搜索類似于向量化圖片的加利福尼亞州前 10 棟房屋,則圖片本身很可能與加利福尼亞州沒有任何關(guān)系。雖然查詢受益于基表按州分區(qū)的事實,因此只能搜索與加利福尼亞州相對應(yīng)的分區(qū),但查詢?nèi)匀槐仨毑榭纯赡懿辉诩永D醽喼莸膱D片。
為了進一步加速此類查詢,可以創(chuàng)建本地IVF索引。索引的術(shù)語“本地”是指基表分區(qū)或子分區(qū)與索引分區(qū)之間的一對一關(guān)系。
如下圖所示,基表有三個分區(qū),創(chuàng)建的本地IVF索引仍然由兩個內(nèi)部表組成:

  • 一個名為VECTOR$<base table name>_IVF_IDX$<object info>$IVF_FLAT_CENTROIDS,它按基表分區(qū) ID 進行列表分區(qū),因此與基表等分區(qū)。每個分區(qū)包含相應(yīng)標識的質(zhì)心向量和相關(guān) ID 的列表。
  • 第二個名為VECTOR$<base table name>_IVF_IDX$<object info>$IVF_FLAT_CENTROID_PARTITIONS,它按基表分區(qū)ID進行列表分區(qū),并按質(zhì)心ID進行列表子分區(qū)。此表也與基表等分區(qū),每個子分區(qū)包含與該子分區(qū)的相應(yīng)質(zhì)心ID緊密相關(guān)(集群)的基表向量。

image.png
回到我們最初的例子,搜索加利福尼亞州前10棟房屋,類似于向量化圖片;查詢受益于對基表和質(zhì)心表(加利福尼亞州)的分區(qū)修剪,因為它們都是按州分區(qū)的。此外,一旦在該分區(qū)中確定了最近的質(zhì)心,查詢只需掃描質(zhì)心分區(qū)表中相應(yīng)的質(zhì)心群集子分區(qū),而無需掃描其他質(zhì)心子分區(qū)。
另一種可能性是基表進行復(fù)合分區(qū)。以下是與該情況相對應(yīng)的圖形表示。質(zhì)心表根據(jù)基表子分區(qū)進行列表分區(qū)。質(zhì)心表中的每個分區(qū)包含在相應(yīng)基表子分區(qū)中找到的所有質(zhì)心向量。質(zhì)心分區(qū)表按基表子分區(qū) ID 進行列表分區(qū),并進一步按質(zhì)心ID進行子分區(qū):
image.png

注意:
只能在分區(qū)基表上創(chuàng)建本地IVF索引。
本地IVF索引繼承常規(guī)本地索引使用的所有系統(tǒng)目錄表和視圖。vecsys.vector$index表中的標志 (idx_spare2)指示索引是本地還是全局向量索引。

使用本地 IVF 索引可帶來其他優(yōu)勢:

  • 簡化分區(qū)管理操作 (PMOP,Partition Management Operations):
    例如,刪除表分區(qū)只需刪除相應(yīng)的索引分區(qū)。
  • 靈活的索引方案:
    例如,將某些索引分區(qū)標記為UNUSABLE,以避免通過部分索引對某些表分區(qū)進行索引。

解讀

IVF索引性能低于HNSW索引,但其可以更便攜的管理并更好的支持DML操作。

3 混合向量索引

混合向量索引(Hybrid Vector Index)繼承了Oracle Text搜索索引的所有信息檢索功能,并利用了Oracle AI Vector Search向量索引的語義搜索功能。
混合向量索引允許使用全文搜索和語義向量搜索的組合來索引和查詢文檔?;旌舷蛄克饕且活悓iT的域索引,它將現(xiàn)有的Oracle Text索引數(shù)據(jù)結(jié)構(gòu)和向量索引數(shù)據(jù)結(jié)構(gòu)組合成一個統(tǒng)一的結(jié)構(gòu)。單個索引包含文檔的文本和向量字段,使能夠同時執(zhí)行關(guān)鍵字搜索和向量搜索的組合。
混合向量索引的目的是通過允許用戶使用開箱即用和自定義評分技術(shù)以各種組合方式搜索向量和關(guān)鍵字來增強Oracle Text索引的搜索相關(guān)性。通過將傳統(tǒng)的基于關(guān)鍵字的文本搜索與基于向量的相似性搜索相結(jié)合,可以改善整體搜索體驗并為用戶提供更準確的信息。

何時選擇混合向量索引

如果查詢需要語義相似但涉及特定焦點領(lǐng)域(即涉及特定組織、用戶名、產(chǎn)品代碼、技術(shù)術(shù)語、日期或時間)的信息,請考慮在混合搜索場景中使用混合向量索引。例如,典型的混合搜索查詢可以是查找“ABC 公司股票欺詐的十大實例”。
這樣的查詢涉及兩個獨立的部分:

  • 第一個是想要識別“股票欺詐”概念的地方
  • 第二個是想要縮小結(jié)果范圍以僅關(guān)注“ABC 公司”的地方

純關(guān)鍵字搜索可能會返回專門包含查詢詞(如“股票”、“欺詐”、“ABC”或“公司”)的結(jié)果,因為它側(cè)重于將精確的關(guān)鍵字或單詞或短語的表面表示與文本索引中的標記術(shù)語進行匹配。因此,單獨的關(guān)鍵字搜索可能不適合這里,因為它可能會忽略我們查詢中的單詞背后的語義含義,尤其是當(dāng)內(nèi)容中沒有精確的術(shù)語時。
純向量搜索側(cè)重于理解單詞或短語的含義和上下文,而不僅僅是匹配關(guān)鍵字。向量搜索考慮查詢詞之間的語義關(guān)系,因此它可能包含更多與上下文相關(guān)的結(jié)果,如“公司欺詐”、“股市操縱”、“股票不當(dāng)行為”、“金融違規(guī)行為”或“金融部門的訴訟”。向量搜索也可能不適合這里,因為它可能包含有關(guān)涉及 ABC 或類似組織的股票欺詐這一更廣泛主題的結(jié)果,尤其是當(dāng)內(nèi)容中沒有精確的短語“ABC 公司股票欺詐”時。
混合搜索可以解決此類查詢的兩個組成部分,方法是對同一數(shù)據(jù)運行關(guān)鍵字搜索和向量搜索,然后將兩個搜索結(jié)果合并為一個結(jié)果集。這樣,可以利用文本索引和向量索引的優(yōu)勢來檢索最相關(guān)的結(jié)果。

為何選擇混合向量索引

混合向量索引的優(yōu)點:

  • 與純向量搜索或關(guān)鍵字搜索相比,召回率更高:
    如前所述,混合搜索可以結(jié)合Oracle AI Vector Search和Oracle Text搜索的強大功能,提供更準確和個性化的信息。關(guān)鍵字搜索或向量搜索本身可能與復(fù)雜的搜索場景無關(guān),并且可能導(dǎo)致大量虛假結(jié)果。
  • 減輕分段的缺點:
    向量嵌入模型通常會對輸入文本的大小施加限制,這會迫使將大型文檔拆分為較小的數(shù)據(jù)塊以進行語義搜索(如了解數(shù)據(jù)轉(zhuǎn)換階段中所述)。由于截斷,數(shù)據(jù)塊可能會丟失原始文檔的更廣泛上下文,這可能會導(dǎo)致結(jié)果丟失?;旌舷蛄克饕ㄟ^在文檔級別執(zhí)行文本搜索來幫助恢復(fù)每個文檔的整個上下文。
  • 與維護獨立索引相比,部署和管理更簡單:
    混合向量索引是一個可以使用DML維護文本和向量的單域索引。關(guān)鍵字搜索和向量搜索都會對所有文檔執(zhí)行,然后將兩個搜索結(jié)果合并并評分以返回統(tǒng)一的結(jié)果集。它提供了端到端索引管道,可自動轉(zhuǎn)換輸入數(shù)據(jù)以進行向量搜索和關(guān)鍵字搜索,從而提高索引性能。此索引公開了可選首選項以配置索引參數(shù),但這不是必需的。
  • 統(tǒng)一查詢 API,按向量和關(guān)鍵字進行搜索:
    單個SEARCH API(可通過DBMS_HYBRID_VECTOR PL/SQL包獲得)允許在文檔文本索引上指定傳統(tǒng)的CONTAINS查詢,并在向量化塊索引上指定VECTOR_DISTANCE查詢??梢栽趦H關(guān)鍵字、僅向量和混合搜索模式之間切換,以檢索最佳文檔或塊。

總結(jié)

本期對Oracle 23ai的向量索引進行了較為深入的介紹。
老規(guī)矩,知道寫了些啥。

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

相關(guān)文章:

  • 產(chǎn)品眾籌網(wǎng)站開發(fā)怎么自己做個網(wǎng)站
  • 怎么設(shè)置自己做的網(wǎng)站google網(wǎng)站
  • ps做圖賺錢網(wǎng)站trinseo公司
  • 門面設(shè)計裝修效果圖廣州seo優(yōu)化外包公司
  • 鹽山縣招聘網(wǎng)站建設(shè)seoheuni
  • 怎么在網(wǎng)站標題做logo小程序
  • 紅包網(wǎng)站開發(fā)百度點擊軟件找名風(fēng)
  • 鎮(zhèn)江專業(yè)網(wǎng)站制作最有效的網(wǎng)絡(luò)推廣方式和策略
  • 免費加盟游戲代理搜索引擎優(yōu)化公司
  • 音樂在線制作網(wǎng)站網(wǎng)絡(luò)推廣產(chǎn)品公司
  • 免費畫圖網(wǎng)站東莞seo網(wǎng)絡(luò)推廣專
  • 怎樣優(yōu)古網(wǎng)絡(luò)公司網(wǎng)站后臺中國最好的網(wǎng)絡(luò)營銷公司
  • 奢侈品 網(wǎng)站建設(shè)方案上海最新事件
  • 何做百度推廣網(wǎng)站國內(nèi)優(yōu)秀網(wǎng)頁設(shè)計賞析
  • 鶴崗做網(wǎng)站公司每天4元代發(fā)廣告
  • 深圳網(wǎng)站建設(shè)ppchsj個人博客搭建
  • 網(wǎng)站源碼搭建教程河南疫情最新消息
  • 網(wǎng)站制作器軟件下載新品上市怎么推廣詞
  • 濟南校園兼職網(wǎng)站建設(shè)正規(guī)seo排名公司
  • 網(wǎng)站地圖做法做疫情排行榜最新消息
  • it公司怎么在國外網(wǎng)站做宣傳建設(shè)網(wǎng)站制作
  • 傳奇手游最新下載seo優(yōu)化工作內(nèi)容做什么
  • 服務(wù)器上的網(wǎng)站怎么做3012022百度指數(shù)排名
  • 服務(wù)好的企業(yè)做網(wǎng)站南昌seo數(shù)據(jù)監(jiān)控
  • 淄博 網(wǎng)站制作seo網(wǎng)站自動發(fā)布外鏈工具
  • 微信做自己的網(wǎng)站濰坊seo培訓(xùn)
  • 網(wǎng)站淘寶客怎么做的b2b電子商務(wù)網(wǎng)站
  • 建站網(wǎng)址建設(shè)推廣資源seo
  • 淘寶客推廣網(wǎng)站怎么做百度競價推廣自己可以做嗎
  • 廣州 網(wǎng)站 建設(shè) 制作培訓(xùn)課程開發(fā)