我正在构建一个基于短信的应用程序,它将检索铁路时刻表。现在我面临的问题是,如果用户输入了特定车站的错误名称(假设他写的是“Kolkta”而不是“Kolkata”),那么我的应用程序会无法转发与其最近匹配的查询结果。我将如何做?java中是否有用于此的API?
问问题
55 次
2 回答
0
我猜Apache Lucene在 java 中提供了你想要的支持。
于 2012-08-19T17:38:56.340 回答
0
Lucence Apache 听起来很有希望,但是如果您想要更简单的东西,您可以在家轻松烹饪,您可以尝试计算用户输入和整个铁路名称集之间的最小编辑距离。这是字符串之间相似性的度量,可以非常有效地计算(尤其是在您的情况下,字符串非常短)。
上面的链接包含一个可怕的数学公式,但这是所有形式表示的本质。他们很可怕。向下滚动一点,你会发现算法的伪代码非常短(几乎是复制粘贴)。
于 2012-08-19T18:21:30.580 回答