每個文件都有相關性評分,用乙個相對的浮點數字段_score
來表示 –_score
的評分越高,相關性越高。
elasticsearch的相似度演算法被定義為 tf/idf,即檢索詞頻率/反向文件頻率,包括一下內容:
理解評分標準
當除錯一條複雜的查詢語句時,想要理解相關性評分_score
是比較困難的。elasticsearch 在 每個查詢語句中都有乙個explain
引數,將explain
設為true
就可以得到更詳細的資訊。
get /_search?explain <1>
}}
explain
引數可以讓返回結果新增乙個_score
評分的得來依據。
增加乙個explain
引數會為每個匹配到的文件產生一大堆額外內容,但是花時間去理解它是很有意義的。 如果現在看不明白也沒關係 – 等你需要的時候再來回顧這一節就行。下面我們來一點點的了解這塊知識點。
首先,我們看一下普通查詢返回的元資料:
, }
這裡加入了該文件來自於哪個節點哪個分片上的資訊,這對我們是比較有幫助的,因為詞頻率和 文件頻率是在每個分片中計算出來的,而不是每個索引中:
"_shard" : 1, "_node" : "mzivycsqswcg_m_zffss9q",
然後返回值中的_explanation
會包含在每乙個入口,告訴你採用了哪種計算方式,並讓你知道計算的結果以及其他詳情:
"_explanation": ] }, , ] } ] }
honeymoon
相關性評分計算的總結 檢索詞頻率 反向文件頻率 字段長度準則
重要:輸出
explain
結果代價是十分昂貴的,它只能用作除錯工具
提示:文件是如何被匹配到的 當json形式的explain描述是難以閱讀的
但是轉成 yaml 會好很多,只需要在引數中加上
format=yaml
explain
選項加到某一文件上時,它會告訴你為何這個文件會被匹配,以及乙個文件為何沒有被匹配。 請求路徑為/index/type/id/_explain
如下所示:
get /us/tweet/12/_explain }, "query" : } } } }
除了上面我們看到的完整描述外,我們還可以看到這樣的描述: ```
"failure to match filter: cache(user_id:[2 to 2])"
也就是說我們的user_id
過濾子句使該文件不能匹配到。 理解相關濾波類中的相關性計算
在基於相關濾波類的跟蹤演算法中,均用到了相關性計算。但是,這裡的相關性計算與一般的卷積運算是有區別。在訊號處理中,卷積就是把其中乙個訊號 一般很短,在卷積中稱為卷積核 反褶以後的相關。如果乙個卷積核是對稱的,卷積運算和相關運算得到的結果是一樣的,比如高斯核。卷積的定義 變數替換後 上述兩式等價。卷積...
R語言相關性分析及步驟
記錄一下r語言學習過程,對於r的基礎就是基本資料型別 向量,矩陣,資料框,字串等等 庫的呼叫以及函式自定義,還需要多加學習!進入主題,今天主題是相關性分析 以下為 y c 170,175,180 定義向量 y1 c 20,25,30 y cor.test y,y1,method spearman 呼...
GSEA檔案準備及表達相關性分析(R語言)
setwd f geo geo晶元資料 load gse35896 eset.rdata a gset 1 取出第乙個元素賦值給乙個物件a dat exprs a a現在是乙個物件,取a這個物件通過看說明書知道要用exprs這個函式,該函式得到表達矩陣 現在 得到的dat就是乙個表達矩陣,只不過基因...