日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全文索引 排名计算问题

發(fā)布時間:2025/1/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全文索引 排名计算问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

排名計算問題

計算排名的過程,取決于一系列因素。不同語言的斷字符對文本進行的詞匯切分也不同。例如,字符串“dog-house”可以被一種斷字符斷為“dog”和“house”而被另一種斷字符斷為“dog-house”。這意味著匹配和排名將根據(jù)所指定語言而有所不同,因為不僅詞不同,而且文檔長度也不同。文檔長度的差異可能會影響所有查詢的排名。

諸如 IndexRowCount 之類的統(tǒng)計信息可能會大不相同。例如,如果一個目錄的主索引有二十億行,那么對一個新文檔的索引將被編制為內(nèi)存中的中間索引,而基于該內(nèi)存中索引內(nèi)的文檔數(shù)對該文檔的排名可能與主索引中的文檔排名不同。因此,建議在完成產(chǎn)生大量要創(chuàng)建索引或重新創(chuàng)建索引的行的任意填充后,使用 ALTER FULLTEXT CATALOG ... REORGANIZE Transact-SQL 語句將這些索引合并為一個主索引。全文引擎也會根據(jù)參數(shù)(例如中間索引的數(shù)目和大小)自動合并索引。

MaxOccurrence 值被規(guī)范化到 32 個范圍的其中一個內(nèi)。這意味著,比方說,50 個詞長的文檔與 100 個詞長的文檔的處理方式相同。下面是用于規(guī)范化的表。由于這兩個文檔的長度位于相鄰表值 32 與 128 之間的范圍內(nèi),因此將認為它們具有相同的有效長度 128 (32 < docLength <= 128)。

復(fù)制代碼
{ 16, 32, 128, 256, 512, 725, 1024, 1450, 2048, 2896, 4096, 5792, 8192, 11585, 16384, 23170, 28000, 32768, 39554, 46340, 55938, 65536, 92681, 131072, 185363, 262144, 370727, 524288, 741455, 1048576, 2097152, 4194304 };

CONTAINSTABLE 排名

排名使用以下算法:

復(fù)制代碼
StatisticalWeight = Log2( ( 2 + IndexedRowCount ) / KeyRowCount ) Rank = min( MaxQueryRank, HitCount * 16 * StatisticalWeight / MaxOccurrence )

短語匹配項的排名方式與各個鍵類似,只不過要估計 KeyRowCount(包含該短語的行數(shù)),并且此值可能會比實際值大。

ISABOUT 排名

CONTAINSTABLE 使用 ISABOUT 選項支持查詢加權(quán)詞。按照傳統(tǒng)信息檢索系統(tǒng)的說法,ISABOUT 表示向量空間查詢。所使用的默認排名算法為廣為人知的公式 Jaccard。將根據(jù)查詢中的每個詞計算排名,然后按如下描述將這些排名相結(jié)合。

復(fù)制代碼
ContainsRank = same formula used for CONTAINSTABLE ranking of a single term (above). Weight = the weight specified in the query for each term. Default weight is 1. WeightedSum = Σ[key=1 to n] ContainsRankKey * WeightKey Rank = ?( MaxQueryRank * WeightedSum ) / ( ( Σ[key=1 to n] ContainsRankKey^2 ) + ( Σ[key=1 to n] WeightKey^2 ) - ( WeightedSum ) )

FREETEXTTABLE 排名

排名基于 OKAPI BM25 排名公式計算。FREETEXTTABLE 查詢將通過派生詞(原始查詢詞的變形)向查詢中添加詞,這些詞將被作為單獨的、與派生出它們的詞沒有特殊聯(lián)系的詞來處理。同義詞庫功能派生出的同義詞將被當(dāng)作單獨的、具有同等加權(quán)值的詞來處理。查詢中的每個詞都會對排名產(chǎn)生影響。

復(fù)制代碼
Rank = Σ[Terms in Query] w ( ( ( k1 + 1 ) tf ) / ( K + tf ) ) * ( ( k3 + 1 ) qtf / ( k3 + qtf ) ) ) Where: w is the Robertson-Sparck Jones weight. In simplified form, w is defined as: w = log10 ( ( ( r + 0.5 ) * ( N – R + r + 0.5 ) ) / ( ( R – r + 0.5 ) * ( n – r + 0.5 ) ) N is the number of indexed rows for the property being queried. n is the number of rows containing the word. K is ( k1 * ( ( 1 – b ) + ( b * dl / avdl ) ) ). dl is the property length, in word occurrences. avdl is the average length of the property being queried, in word occurrences. k1, b, and k3 are the constants 1.2, 0.75, and 8.0, respectively. tf is the frequency of the word in the queried property in a specific row. qtf is the frequency of the term in the query.

總結(jié)

以上是生活随笔為你收集整理的全文索引 排名计算问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。