0

我正在构建一个基于短信的应用程序,它将检索铁路时刻表。现在我面临的问题是,如果用户输入了特定车站的错误名称(假设他写的是“Kolkta”而不是“Kolkata”),那么我的应用程序会无法转发与其最近匹配的查询结果。我将如何做?java中是否有用于此的API?

4

2 回答 2

0

我猜Apache Lucene在 java 中提供了你想要的支持。

于 2012-08-19T17:38:56.340 回答
0

Lucence Apache 听起来很有希望,但是如果您想要更简单的东西,您可以在家轻松烹饪,您可以尝试计算用户输入和整个铁路名称集之间的最小编辑距离。这是字符串之间相似性的度量,可以非常有效地计算(尤其是在您的情况下,字符串非常短)。

上面的链接包含一个可怕的数学公式,但这是所有形式表示的本质。他们很可怕。向下滚动一点,你会发现算法的伪代码非常短(几乎是复制粘贴)。

于 2012-08-19T18:21:30.580 回答