OneStringPlugin - результаты отличаются от kladr-api.ru (менее релевантны)
Feodorov opened this issue · 1 comments
Здравствуйте.
Прежде всего хотел поблагодарить за отличный сервис! Спасибо за проделанную работу и за возможность использовать ее в своих проектах.
Обнаружил различия между версией http://kladr-api.ru/api.php
и версией в репозитории касательно поиска. kladr-api.ru
выдает релевантные результаты:
curl 'http://kladr-api.ru/api.php?limit=1&withParents=1&oneString=1&cityId=7800000000000&query=Невский проспект' | jq
{
"searchContext": {
"oneString": "1",
"cityId": "7800000000000",
"query": "Невский проспект",
"limit": 1
},
"result": [
{
"id": "78000000000088500",
"name": "Невский",
"zip": null,
"type": "Проспект",
"typeShort": "пр-кт",
"okato": null,
"contentType": "street",
"fullName": "Санкт-Петербург Город, Город Санкт-Петербург, Проспект Невский"
}
]
}
Ограничим поиск Санкт-Петербургом, ищем Невский проспект - результат отличный!
Далее попробуем сделать запрос для сервера, развернутого из текущего репозитория:
curl 'http://.../public/index.php?limit=1&withParents=1&oneString=1&cityId=7800000000000&query=Невский проспект' | jq
{
"searchContext": {
"oneString": "1",
"cityId": "7800000000000",
"query": "Невский проспект",
"limit": 1
},
"result": [
{
"id": "6201000000000",
"name": "Александро-Невский",
"zip": "391240",
"type": "Район",
"typeShort": "р-н",
"okato": "61220000000",
"contentType": "district",
"fullName": "Рязанская Область, Александро-Невский Район"
}
]
}
Результат не очень релевантный.
Насколько я понимаю, на kladr-api.ru
есть какие-то очень хорошие правки поиска в сфинксе. В обоих случаях в сфинксе есть Санкт-Петербург Город, Город Санкт-Петербург, Проспект Невский
, но с версией кода в репозитории запрос вида @fullname "Невский проспект*" @cityid 7800000000000
не находит релевантное значение. Видимо, влияет порядок слов или что-то подобное?
PS. Еще обнаружил, что в версии на kladr-api.ru
проиндексированы адреса с домами (Челябинская Область, Саткинский Район, Город Бакал, Улица Ленина, 18
), чего также нет в текущей версии кода:
curl 'http://kladr-api.ru/api.php?limit=1&oneString=1&query=г.Бакал, ул.Ленина, 18' | jq
{
"searchContext": {
"oneString": "1",
"query": "г.Бакал, ул.Ленина, 18",
"limit": 1
},
"result": [
{
"id": "7401700100000150001",
"name": "18",
"zip": 456900,
"type": "дом",
"typeShort": "д",
"okato": "75249503000",
"contentType": "building",
"fullName": "Челябинская Область, Саткинский Район, Город Бакал, Улица Ленина, 18"
}
]
}
Не подскажите, как можно подправить поиск, чтобы получить результаты, сравнимые с kladr-api.ru
?
Нашел причину - я недостаточно хорошо сконфигурировал индекс. Взял конфиг из докер-образа hub.docker.com/r/garakh/kladr/
- все заработало как нужно.