0
Отвечен

Приоритет Московских адресов

Анонимный 8 месяцев назад обновлен Антон Жиянов 8 месяцев назад 24

Второй день не корректно работают Подсказки с Московскими адресами, до этого приоритет поиска был по Москве, и не нужно было добавлять название города в запрос

К примеру "анны ахматовой" сразу определялся адрес в Москве.

Сервис подключен в 1С Предприятие.

сервис: подсказки справочник: адреса

Ответ

Ответ

count = 1 — это специальное значение, оно должно использоваться только в ситуации, когда человек уже выбрал подсказку из списка. Используйте count > 1, тогда уточнение города не потребуется.

На рассмотрении

Вы используете какой-то плагин?

используем HTTP запрос

// формируем запрос
HTTPЗапрос = Новый HTTPЗапрос();
//HTTPЗапрос.АдресРесурса = "/api/v2/suggest/" + ?(ЭтоГород, "address", "party");
HTTPЗапрос.АдресРесурса = "/suggestions/api/4_1/rs/suggest/" + ?(ЭтоГород, "address", "party");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/xml");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/xml");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + КлючДоступа);
HTTPЗапрос.Заголовки.Вставить("charset", "UTF-8");

HTTPЗапрос.УстановитьТелоИзСтроки("" + ТекстПоиска + "" + КоличествоПодсказок + "");

// устанавливаем соединение
Соединение = Новый HTTPСоединение("suggestions.dadata.ru",,,,Новый ИнтернетПрокси,, Новый ЗащищенноеСоединениеOpenSSL);
// получаем ответ
ОтветHTTP = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
// получаем строку
ОтветСервера = ОтветHTTP.ПолучитьТелоКакСтроку();

      ОтветСервера

-------------------------------------------

при запросе "мск теплый стан"


ответ: мск теплый стан

--------------------------------------------

при запросе "теплый стан"

ответ: теплый стан

Я правильно понимаю, что вы передаёте параметр count = 1? Зачем? Какой вообще у вас сценарий использования сервиса?

1 что бы не расходовать кол-во подсказок, т.к. на основании нашего запроса нам достаточно первой подсказки, основная масса адресов из Москвы. Редко когда адрес подбирается не тот, тогда операторы вводят больше уточняющей информации. До не давнего времени не требовалась уточнять город. На сайте подсказки выдают первый адрес который нам подходит, через запрос мы не получаем информации. 

Ответ

count = 1 — это специальное значение, оно должно использоваться только в ситуации, когда человек уже выбрал подсказку из списка. Используйте count > 1, тогда уточнение города не потребуется.

параметр count это кол-во подсказок?

Да, количество Подсказок в ответе Дадаты.

Да, это количество подсказок.

при изменении на 2, у нас на каждый запрос будет расходоваться 2 подсказки?

Что значит «расходоваться» в вашем понимании?

кол-во запросов по подписке

Параметр count никак не влияет на количество запросов.

на данный момент у нас один найденный правильный адрес = 1 запрос.

Изменили на count = 2, получили ответ на запрос "теплый стан"

ответ:

count = 2

в ответ получили две подсказки, разве с таким запросом у нас не увеличится расход подсказок в два раза?

основной вопрос, у вас что то поменялось? мы пол года проработали с count = 1, а примерно три дня назад пользователи начали жаловаться что не ищет без добавления города.

в ответ получили две подсказки, разве с таким запросом у нас не увеличится расход подсказок в два раза?

Не увеличится.

основной вопрос, у вас что то поменялось

Алгоритмы меняются постоянно. То, что у вас полгода работал запрос с count = 1 — случайность. Как я писал выше, count = 1 — это специальное значение, оно должно использоваться только в ситуации, когда человек уже выбрал подсказку из списка.

Антон, в продолжение темы. Есть проблема с использованием параметра "Количество подсказок". В том случае, если мы ставим количество подсказок более чем 1, в ответе (если происходит распознание адреса), не возвращаются такие параметры, как Район и Административный округ. При этом в том случае, когда количество подсказок 1, эти данные получить можно. Собственно вопрос - как получить (кроме повторного запроса) Район и Административный округ в случае, если число подсказок более чем 1? Получается ситуация, что при количестве подсказок = 1 мы получаем нужные данные, но не всегда распознаем. При более чем 1 - нормально распрознаем, но получаем не все. Наш вариант - сначала запрос на групповой поиск (Подсказок более чем 1), потом - персональный по выбранному адресу - по уточнения параметров?

Спасибо.

Всё верно, нужно делать не один запрос, а два:

  1. Групповой поиск (count > 1).
  2. Человек выбирает нужный вариант.
  3. Персональный поиск по выбранному в п. 2 адресу (count = 1)

В таком случае запросов будет в два раза больше, чем у вас было раньше. Но именно это — нормальный сценарий работы «подсказок».

Антон, спасибо большое. Теперь понятно.

Отвечен

Пожалуйста! Если будут вопросы — дайте знать.

Сервис поддержки клиентов работает на платформе UserEcho