You are not logged in.
- Topics: Active | Unanswered
#1 2011-11-07 12:33:08
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Поисковик с русским лицом
Ну вот наконец я добился сборки индексной таблицы для всей России, в общей сложности это v0.5
Дата последнего обновления поиска: 10.09.2012
Что сейчас:
– адресный поиск по нестрогому порядку слов (от регионов до домов)
– поиск идет только по России
– поиск как почтовых адресов, так и POI
– интерфейс будет перерабатываться полностью (уже идет работа Hind и Felis Pimeja), поэтому его косяки не интересны
– группировка нарезанных улиц
– понимание addr:housenumber="5 К2 С3"
– понимание addr:street2 и addr2:, addr3:
– понимание г., город, ул., улица, д. .... мкр., заработало (проблема с кодировкой на серваке)
– для определения принадлежности улиц и домов обязательна граница города/поселка
– обновление вручную
– поиск от текущего положения (текущий город, район, область)
Почему что то не ищется (любой пункт можно изменить, по обоснованной причине):
– !! если у членов отношения нет outer/inner, то он игнорируется, и если он был границей - то граница получается поломанной и исключается, а в месте с ней автоматически и все вложенные объекты !!
– границами города/поселка считаются place (отношение/замкнутая линия) с наличием name или place_name
– улица не должна выходить за пределы города
– пока place=city/town - город, place=village/hamlet - поселок
Что планируется, в зачаточном состоянии:
– онлайн обновление данных
– поиск от текущего положения (расстояние уже вычисляется, то пока не придумал как коэффициент правильно сделать)
– поиск по POI
– life-поиск или подсказка при наборе поисковой строки
– пытаться выдавать наиболее точно то, что хотел пользователь
– зум исходя из размера объекта
– поддержка suburb
Поскольку это еще тестовая версия то:
– выдает техническую информацию, а именно: id-идентификатор позиции в индексной базе, weight-вес релевантности, чем больше тем точнее
Описание api поиска по произвольной строке:
* Пример запроса: openstreetmap.ru/api/search?q=12&lat=54.75&lon=21.4219&cnt=20&callback='cb1'
– q - строка поискового запроса
– stype - строка указывающая тип поиска: addr - только адресный поиск, poi - только пои искать, all - addr+poi. По умолчанию all
– lat - широта центра карты. По умолчанию 0
– lon - долгота центра карты. По умолчанию 0
– cnt - максимальное количество ответов. По умолчанию 12
– asis - при 1 выводить как есть, без экранирования спецсимволов html в выводе. По умолчанию 0
– callback - оборачивание ответа в функцию callback
* Ответ в формате json:
– find - булевое значение удачности поиска
– search - что искалось
– id - внутренний id в поисковой таблице, может меняться при обновлении
– osm_id_n, osm_id_w, osm_id_r - id объектов osm, массив.
– lat, lon - координаты центра объекта
– addr_type_id - номер типа объекта: 2-области, края, республики,... (admin_level=4); 3-районы,... (admin_level=6); 4-города,... (place=town/city); 5-деревни, села,... (place=village/hamlet); 6-улицы (highway=*); 7-дома (addr:housenumber)
– display_name - выводимое имя
– this_poi - 1 или 0 указывающее нашлось ли пои или адресный объект
* При запросе с lat/lon не равных нулю, поиск идет от заданного местоположения.
В общем тестируйте...
На данный момент уже выявлено:
– дублирование Санкт-Петербург
– пустые адреса
– падение на строке типа "5/2"
– дублирование записей, если граница обозначена линией и есть точка внутри её
– не находит объекты с множеством тире в имени
– обработка сокращений в названиях улиц «Большая» до «Б.», «Красный» до «Кр.» ссылка
– поиск дома как "9А", так и "9 А"
– более не точный поиск, если ничего не нашлось ссылка
P.S. просьба, если не нашлось, давать ссылки то, что должно было найтись
Last edited by ErshKUS (2013-02-16 14:55:59)
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#2 2011-11-07 12:38:02
- siberiano
- Moderator
- From: Novosibirsk
- Registered: 2010-02-25
- Posts: 1,006
- Website
Re: Поисковик с русским лицом
Супер! Всё, что искал, нашлось!
Есть только проблема с альтернативными названиями. В Красноярске есть "проспект имени газеты Красноярский рабочий". Её так полностью в поиске не напишешь, обычно называют "Красноярский рабочий" или "красраб". Куда эти альтернативные названия записать, чтобы индексировались и по ним можно было искать?
Offline
#3 2011-11-07 12:43:50
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
Супер! Всё, что искал, нашлось!
Есть только проблема с альтернативными названиями. В Красноярске есть "проспект имени газеты Красноярский рабочий". Её так полностью в поиске не напишешь, обычно называют "Красноярский рабочий" или "красраб". Куда эти альтернативные названия записать, чтобы индексировались и по ним можно было искать?
по идее alt_name http://wiki.openstreetmap.org/wiki/RU:Key:name , но мой поисковик пока их не нюхает.
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#4 2011-11-07 12:50:03
- liosha
- Member
- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Поисковик с русским лицом
Да, всё запрошенное замечательно находит.
Но в идеале находить надо то, что искали. То есть когда ищем улицу - не надо вываливать все дома по этой улице
Offline
#5 2011-11-07 12:53:03
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
Да, всё запрошенное замечательно находит.
Но в идеале находить надо то, что искали. То есть когда ищем улицу - не надо вываливать все дома по этой улице
Это да, но еще не придумал как точно научить поисковик этому
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#6 2011-11-07 13:07:59
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Поисковик с русским лицом
Круто, релевантность всегда адекватно считается
К примеру "Екатеринбург 8 марта 1" результат ...дом 37/1 выше чем ...дом 1 хорошо что нашлись оба, но хотелось бы чтобы ... дом 1 был выше.
Кстати если ввести "8 марта 1 Екатеринбург" то ...дом 1 будет первым.
Last edited by dkiselev (2011-11-07 13:09:16)
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#7 2011-11-07 13:12:19
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Поисковик с русским лицом
Еще из хотелок - при построении индекса генерить алиасы для имен улиц с римскими числами "22 Партсъезда 11 Екатеринбург" и "Екатеринбург 22 Партсъезда дом 11" не дали результатов т.к. улица заведена как "XXII Партсъезда"
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#8 2011-11-07 13:16:50
- Eriw
- Member
- From: Новоуральск
- Registered: 2011-10-29
- Posts: 9
Re: Поисковик с русским лицом
Отлично ищет Ни одного промаха...
Offline
#9 2011-11-07 13:17:43
- dkiselev
- Member
- Registered: 2010-02-09
- Posts: 3,364
Re: Поисковик с русским лицом
Еще хотелка - обработка сокращений типа К. Маркса - если адрес будет копипастится, то попадание инициала в запрос очень вероятный случай.
Ничего что я его на заковыристые случаи проверяю? Так то поисковик очень хорош!
Last edited by dkiselev (2011-11-07 13:19:11)
mail: dkiselev@osm.me skype: dmitry.v.kiselev
Open Street Maps are supreme! Exterminate all map forms! Exterminate! Exterminate!
Offline
#10 2011-11-07 13:20:49
- Eriw
- Member
- From: Новоуральск
- Registered: 2011-10-29
- Posts: 9
Re: Поисковик с русским лицом
Вот чего нашла: есть 15-й микрорайон. Годно было бы в поиске указывать 15 мкр.
Offline
#11 2011-11-07 13:33:43
- Alexandr Zeinalov
- Member
- From: New-Peredelkino, Moscow, RU
- Registered: 2009-08-26
- Posts: 1,698
- Website
Re: Поисковик с русским лицом
Варшавка ни в Варшавскую улицу, ни в Варшавское шоссе не превращаются. Правда, гугл этого тоже не умеет, но Яндекс-то справляется...
old_name не находит.
"москва центральная" находит одну улицу
"москва внуково центральная" и "москва толстопальцево центральная" не находит вообще ничего
"москва заветная" ничего не находит
"внуково заветная" находит
"барятино" первые три результата без названия (наиболее релевантные!), причём второй и третий - одно и то же (граница и точка)
"москва" находит много точек на севере города
по запросу "московский" самым релевантным результатом является Московская улица в Печоре, причём точка не имеет адреса, где же город Московский - вообще непонятно
"новгород" - находит Нижний и в нём же посёлок Мостотряд
"киров" - ...
короче, есть над чем работать
Offline
#12 2011-11-07 13:42:24
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
да я уже тоже обнаружил выпавшие адреса, разбираюсь что с ними не так
они не должны были попасть в поиск, это я поторопился и забыл добавить еще в одно место условие.
а не должны были попасть, т.к. не определилась их отношение к региону
Last edited by ErshKUS (2011-11-07 13:49:24)
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#13 2011-11-07 13:56:13
- akks
- Member
- From: Ufa
- Registered: 2010-06-11
- Posts: 1,728
Re: Поисковик с русским лицом
Спасибо, уже впечатляет!
Надеюсь, со временем можно будет искать не только дома Вводя "Уфа", человек всё же рассчитывает увидеть город и речку, а не список всех адресов)
Впечатляет почти полная независимость от порядка слов (типа "ят сена сун уфа").
Offline
#14 2011-11-07 13:59:28
- Zverik
- Moderator
- From: Минск
- Registered: 2010-10-14
- Posts: 5,693
- Website
Offline
#15 2011-11-07 14:05:23
- luiswoo
- Member
- Registered: 2010-09-11
- Posts: 1,597
Re: Поисковик с русским лицом
3-я линия 27 Ростов-на-Дону - не находит, стандартный находит и выдаёт первым вариантом.
Offline
#16 2011-11-07 14:05:41
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
akks wrote:Впечатляет почти полная независимость от порядка слов (типа "ят сена сун уфа").
Специально открыл страницу, чтобы посмотреть, что это такое
И нашёл небольшой недочёт: слишком мелкий зум.
Зум пока не исходит от размера данных, просто жестко указано
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#17 2011-11-07 14:12:55
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
3-я линия 27 Ростов-на-Дону - не находит, стандартный находит и выдаёт первым вариантом.
можно ссылку на объект в осм? или на место на карте
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#18 2011-11-07 14:13:51
- luiswoo
- Member
- Registered: 2010-09-11
- Posts: 1,597
Re: Поисковик с русским лицом
Так и должно быть или это только у меня так выезжает...
Offline
#19 2011-11-07 14:16:37
- luiswoo
- Member
- Registered: 2010-09-11
- Posts: 1,597
Re: Поисковик с русским лицом
luiswoo wrote:3-я линия 27 Ростов-на-Дону - не находит, стандартный находит и выдаёт первым вариантом.
можно ссылку на объект в осм? или на место на карте
На объект не получится - там интерполяция, ссылка на место
Offline
#20 2011-11-07 14:29:43
- Fortress
- Member
- From: Russia, Saint-Petersburg
- Registered: 2009-07-09
- Posts: 1,109
Re: Поисковик с русским лицом
Чета мой дом не ищет.. "Металлострой, Полевая ул., 20"
Offline
#21 2011-11-07 14:31:42
- Zkir
- Member
- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Поисковик с русским лицом
Проспект Мира - вообще ничего не ищет. Строка поиска очищается и все.
UPD:
На IE9 вообще не работает
Last edited by Zkir (2011-11-07 14:33:34)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#22 2011-11-07 14:42:02
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
ErshKUS wrote:luiswoo wrote:3-я линия 27 Ростов-на-Дону - не находит, стандартный находит и выдаёт первым вариантом.
можно ссылку на объект в осм? или на место на карте
На объект не получится - там интерполяция, ссылка на место
с интерполяцией поисковик не умеет работать, даже пока не знаю, как ей научить его.
P.S.
Скорее всего и не буду, уж сильно эта интерполяция относительна, да и сделать её не просто. Есть задачи важнее.
Last edited by ErshKUS (2011-11-07 14:56:45)
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#23 2011-11-07 14:45:22
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
Чета мой дом не ищет.. "Металлострой, Полевая ул., 20"
Санкт-Петербург, город Металлострой ?
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#24 2011-11-07 14:48:59
- ErshKUS
- Member
- From: Калиниград
- Registered: 2010-12-27
- Posts: 803
Re: Поисковик с русским лицом
Проспект Мира - вообще ничего не ищет. Строка поиска очищается и все.
Какой браузер? IE9 ?
Last edited by ErshKUS (2011-11-07 14:55:12)
Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш? (Lumen, Лабиринт)
Offline
#25 2011-11-07 15:16:21
- Zkir
- Member
- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Поисковик с русским лицом
Да, IE9.
Еще глюк.
"Большая внуковская улица" - показывает только служебную информацию.
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline