Algorithm 标识符拆分以近似匹配文档
不同的软件项目有不同的编码约定;即使在同一个项目中,也可能会使用不同的语言,并且会有不同的约定。使用源代码中的标识符标记搜索文档(出现在源文件之外)有什么好处 例如,如果源具有self._def_passwd或this.defPasswrd,则文档树上的查询应努力匹配默认密码 到目前为止,我一直在尝试按Levenshtein距离进行排序,这对于较小的编辑距离非常有效,但当我增加阈值时,会出现太多误报,这在文档中存在空白问题Algorithm 标识符拆分以近似匹配文档,algorithm,full-text-search,query-string,levenshtein-distance,Algorithm,Full Text Search,Query String,Levenshtein Distance,不同的软件项目有不同的编码约定;即使在同一个项目中,也可能会使用不同的语言,并且会有不同的约定。使用源代码中的标识符标记搜索文档(出现在源文件之外)有什么好处 例如,如果源具有self._def_passwd或this.defPasswrd,则文档树上的查询应努力匹配默认密码 到目前为止,我一直在尝试按Levenshtein距离进行排序,这对于较小的编辑距离非常有效,但当我增加阈值时,会出现太多误报,这在文档中存在空白问题 8 0.666667 announcement getContent A
8 0.666667 announcement getContent AnnouncementBean.java(Token.Name.Function )
8 0.666667 announcement getPercent DataObservation.java (Token.Name.Function)
8 0.666667 announcement GroupBean GroupBean.java (Token.Name.Class)
其中第一个值是Levenshtein距离,第二个值是距离除以匹配单词的长度。
我想去
最后一个选项实际上是最后一个选项。你认为其他哪种算法可以为这类东西提供更好的结果 尝试使用加权编辑距离,在这里您可以根据键盘上的距离对常用缩写、可能的字符错误进行编码。例如,您可以为元音(如[ao])设置零权重,密码将等于pswrd。另一个选项是构建单词级编辑距离,并在此处使用同义词。我还建立了EditDistance,它与文字和字符同时工作