solr spellcheck 距離選取方案

2021-08-02 16:39:20 字數 636 閱讀 3260

重點:damerau

-levenshtein

spellcheck本質上工作機制是兩步:

1. ngram進行候選檢索

2. 選取ngram打分最高的幾個,進行距離計算,如果距離大於solrconfig或者請求引數中的accuracy配置項,就返回該糾錯結果

之前沿用了預設配置項編輯距離,

name="distancemeasure">

org.apache.lucene.search.spell.levensteindistance

str>

即插入、刪除、替換都對距離加一

這導致了:

搜pool,無法糾錯出polo,因為我們的accuracy是0.7,那pool和polo的編輯距離是2,所以他們的相似度是1-2/(max(4,4)),即0.5

而根據使用者的輸入情形,兩個字元的mis-transform,即字元換位是很常見的一種情況,它對應的距離不應該加2,而應該與刪除或者插入同等對待

正當我在考慮怎麼寫這個演算法的時候,發現lucene早就幫我想好了,

lucenelevenshteindistance

它計算的是

damerau

-levenshtein

即插入、刪除、交換的距離都是1

內邊距和外邊距

內邊距,在邊框和內容區之間的空白區域。padding 屬性接受長度值或百分比值 或者auto 不允許為負值 1.四個方向內邊距一致時 padding 10px 元素距離外部父元素給邊框的距離均為10px 2.四個方向還可按著上 右 下 左的順序分別定義各內邊距 padding 10px 5px 10...

內邊距與外邊距

內邊距就是邊框與內容之間的距離 padding top padding right padding bottom padding left padding 上 右 下 左 當省略上右下左中的乙個時,預設與對面的值保持一致,即下對應上 左對應右 我是內容我是內容我是內容 我是內容我是內容我是內容 我是...

css 內邊距 外邊距 邊框

1.內邊距css padding 屬性定義元素邊框與元素內容之間的空白區域。例子 padding left 20px 屬性 描述padding 簡寫屬性。作用是在乙個宣告中設定元素的所內邊距屬性。padding bottom 設定元素的下內邊距。padding left 設定元素的左內邊距。padd...