Re: индексирование по расстоянию
От | Dmitry E. Oboukhov |
---|---|
Тема | Re: индексирование по расстоянию |
Дата | |
Msg-id | 20140509213432.GN15103@vdsl.uvw.ru обсуждение исходный текст |
Ответ на | Re: [pgsql-ru-general] индексирование по расстоянию (Sergey Konoplev <gray.ru@gmail.com>) |
Список | pgsql-ru-general |
>> Сейчас залез копаться в GIST-индексы и расширения на C, но возник >> вопрос, может быть уже что-то готовое есть на тему решения подобных >> задач? >> то есть если у нас есть функция возвращающая дистанцию между двумя >> объектами, то может быть можно просто (без C-программирования) >> построить индекс отвечающий на >> вопрос "дай мне ближайшие объекты к заданному"? > Есть кое-какие наработки в этом направлении: > http://www.postgresql.org/message-id/flat/9E07E159-E405-41E2-9889-A04F534FC257@gmail.com# А я чет почитал про этот kNN но не понял как совместить его с моей задачей. у меня на входе текстовые сопоставления и координатные. и итоговое сопоставление опирается на оба сопоставления сразу > А какая предметная область, если не секрет, что за данные и для чего > дистанция? Возможно есть проще решение. предметная область - объекты с текстовыми характеристиками в пространстве (на глобусе). То есть объект имеет: - название - текстовое описание - lon - lat Пользователь отчасти помнит название (или текстовое описание) объекта и начинает его вводить в поисковом поле. Мы хотим налету подсказывать ему объекты в виде автокомплит-списка. сперва сделали чисто подсказки по тексту - получилось довольно неплохо, но автокомплит комплитит и сильно далекие точки от юзера. далее попробовали совмещать комплит с географией. но получается если сперва текстовый индекс поюзать, а потом сортировать по удаленности, то получаются большие накладные расходы, если например юзер вводит популярное название объекта. далее если наоборот - сперва выбирать ближайшие объекты в заданном радиусе, а потом отфильтровывать их по текстовой похожести, то получаются большие накладные расходы если юзер ищет объект в скоплении других объектов (например улицу в Москве). ну и вот далее хочется совместить оба критерия в один индекс: и текстовую близость и близость по расстоянию причем текстовую близость мы считаем по своим критериям. -- . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Вложения
В списке pgsql-ru-general по дате отправления: