Корректное индексирование значений широты и долготы в Lucene

Я работаю над поиском ближайшего города в США в пределах заданного радиуса. функциональность с использованием Lucene API. Индексирую значения широты и долготы города в Lucene следующим образом:

<code>doc.Add(new Field("latitude", paddedLatitude, Field.Store.YES, Field.Index.UN_TOKENIZED));

doc.Add(new Field("longitude", paddedLongitude, Field.Store.YES, Field.Index.UN_TOKENIZED));
</code>

Поскольку Lucene понимает только строки, а не числа, я добавляю значения lat и long.

Например, если исходные значения lat и long равны 41.811846 и -87.820628 соответственно, значения после заполнения будут выглядеть следующим образом:

paddedLatitude - & gt; "0041.811846" и paddedLongitude - & gt; -087.820628 & quot;

Я делаю то же самое при заполнении запроса ближайшего города (с использованием класса ConceScoreRangeQuery Lucene).

Учитывая тот факт, что значения lat и long могут быть десятичными / отрицательными числами, является ли это правильным подходом для их индексации, чтобы я мог получить правильные ближайшие города в результатах поиска, когда lucene будет выполнять операцию Range / сравнения чисел над этими значениями?

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос