идентифицировать строку похожего местоположения

#java #elasticsearch #pattern-matching #geocoding #facet

#java #elasticsearch #сопоставление с шаблоном #геокодирование #фасет

Вопрос:

Учитывая две строки, представляющие местоположения, как мы можем определить, являются ли оба одинаковыми или разными местоположениями.Например. «Бангалор, Карнатака» и «Бангалор, Индия» — это одно и то же местоположение, которое является Бангалором. У меня есть веб-приложение с текстовым полем для «местоположения», и пользователь может указать значения, как указано в приведенном выше примере. Входные значения сохраняются в elasticsearch, и позже мне нужно найти разные местоположения. Для этого я использую термин Facet в elasticsearch, но я получаю две записи: «Бангалор, Карнатака» и «Бангалор, Индия». Каким-то образом мне нужно определить, что оба являются одинаковыми местоположениями. Я с нетерпением жду решения на основе Java для этого.

Комментарии:

1. как насчет Bangalore, Spain ?

2. Концептуально, то, что вы ищете, — это отображение города, штата, страны. без этого это будет невозможно.

Ответ №1:

Я бы использовал Java API с геокодированием, такой GeoGoogle. Это открытый исходный код. С помощью этого вы можете вызвать:

 GeoUtils.distanceBetweenInKm(firstAddress.getCoordinate(), secondAddress.getCoordinate());