简述Elasticsearch拼写纠错实现原理 ?

Elasticsearch的拼写纠错是基于编辑距离来实现的。编辑距离是一种标准的方法,用来表示经过插入、删除和替换操作从一个字符串转换到另外一个字符串的最小操作步数。

编辑距离的计算过程可以简述为:创建一个表,长度为batyu(源字符串)长度加一,宽度为coffffee(目标字符串)长度加一,然后在对应位置填入黑色数字。这些数字的取值基于三个条件的最小值:如果最上方的字符等于最左方的字符,则为左上方的数字;否则为左上方的数字+1。对于每个格子,左方数字+1和上方数字+1的较小值即为该格子的值。最终,右下角的值即为编辑距离的值。

发表评论

后才能评论