重點: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...