solr spellcheck 距离选取方案
来源:互联网 发布:大数据和java的关系 编辑:程序博客网 时间:2024/06/06 20:10
重点:Damerau-Levenshtein
spellcheck本质上工作机制是两步:
1. ngram进行候选检索
2. 选取ngram打分最高的几个,进行距离计算,如果距离大于solrconfig或者请求参数中的accuracy配置项,就返回该纠错结果
之前沿用了默认配置项编辑距离,
<strname="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
阅读全文
0 0
- solr spellcheck 距离选取方案
- solr-spellcheck
- Solr SpellCheck实践
- solr spellcheck 功能
- solr开发之拼写检查spellcheck
- solrj实现solr的suggestion(基于spellcheck)
- solr的spellcheck和suggest配置代码记录
- Java Remoting选取方案
- 百度账号选取方案
- solr计算坐标距离
- solr高亮(highlight),拼写检查(spellCheck),匹配相似(moreLikeThis) 应用实践
- 选取中文编码方案注意事项
- WPF SpellCheck
- 选取合适的dHtml Grid方案
- 选取合适的dHtml Grid方案
- 选取合适的dHtml Grid方案
- 选取合适的dHtml Grid方案
- 选取合适的dHtml Grid方案
- 雇佣问题
- 点击图片弹出页面效果常用代码
- position:absolute后设置left:50%发生的有趣小事
- 搜索-P
- Android 自定义View之正方形验证码输入框
- solr spellcheck 距离选取方案
- Java Maven项目之Nexus私服搭建和版本管理应用
- C#中Struct与Class的区别
- 个人学习java的真实经验!
- 安卓5.0 Transitions动画切换时状态栏不参与动画
- 用a链接实现跳转至本页面或另一个页面的某个部分
- NAT技术与代理服务器
- java学习一定要掌握静态方法和属性
- 【poj1004】Financial Management 题解&代码(c++)