Правильно индексирующая широта и долгота оценивают в Lucene

Я предпочитаю ответ из Лучший способ напечатать результат bool как «false» или «true» в c? , так же как

printf("%s\n", "false\0true"+6*x);
  • x == 0, "false \ 0true" + 0 "означает" false ";
  • x == 1," false \ 0true "+ 6" означает "true";

5
задан user74042 28 June 2009 в 16:11
поделиться

2 ответа

Вот последние новости о Поиске числовых полей в Люцене Уве Шиндлера, эксперта в этой области. Возможно, вам придется использовать более старый (и более медленный) ConstantScoreRangeQuery, потому что Lucene.net немного отстает от Lucene, а класс NumericRangeQuery, описанный в ссылке, еще не выпущен в Java Lucene.

6
ответ дан 14 December 2019 в 08:58
поделиться

Связанная статья в ответе Ювала Ф. заставила меня понять, что я был неправ в предыдущем ответе , на который вы, похоже, полагаетесь.

Вы не должны индексировать отрицательные числа как есть, особенно в этом случае, когда некоторые значения отрицательны, а некоторые положительны.

Эта статья , кажется, имеет довольно хорошее обсуждение пространственного поиска. Он использует некоторые преобразования, чтобы сделать все значения положительными, а также затрагивает другие темы, о которых вам, вероятно, следует знать, например, вычисление расстояний.

Если вы кодируете значения, нужно помнить, что нужно кодировать их оба для индексации и при построении запроса.

1
ответ дан 14 December 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: