XML - результаты поиска/Поиск туров — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(→‎Импорт данных в свою систему)
(→‎Организация поиска на сайте клиента)
Строка 17: Строка 17:
  
 
Тип поиска определяет поведение сервиса и предоставляемые им данные.
 
Тип поиска определяет поведение сервиса и предоставляемые им данные.
−
 
−
 
−
=== Организация поиска на сайте клиента ===
 
−
Используется для организации сервиса подобного нашему модулю [[Поиск туров - результаты поиска]], когда клиент хочет самостоятельно управлять его работой. Позволяет получить результат в текущий момент наиболее соответствующий данным в системах туроператоров.
 
−
 
−
'''Тип поиска: комбинированный'''
 
−
 
−
 
−
'''Сервис предоставляет данные полученные в текущий момент из всех возможных источников: сохраненные в БД, полученные "на лету" из системы туроператора, а также некоторыми другими способами.'''
 
−
 
−
 
−
'''Обратите внимание:''' данный тип поиска предназначен для обработки запросов от конечных пользователей, и не предназначен для обработки автоматических запросов. Ограничение вызвано тем что запросы в конечном счете передаются в системы туроператоров, которые зачастую не адаптированы к большой нагрузке. Для автоматических запросов должен использоваться тип поиска '''БД поиск'''.
 
−
 
−
==== Алгоритм организации поиска ====
 
−
[http://wiki.tourclient.ru/w/images/d/d6/Search_tour.svg <img src="http://wiki.tourclient.ru/w/images/d/d6/Search_tour.svg" width="200px" style="float: right">]
 
−
 
−
# Приложение формирует поисковый запрос и отправляет его сервису '''Результаты поиска'''.
 
−
# Сервис инициирует новый поиск.
 
−
# Приложение ожидает ответа от сервиса.
 
−
# Сервис возвращает данные по запрошенной странице, данные о количестве найденных туров и ключ поиска.
 
−
# Сервис в фоновом режиме продолжает поиск до нахождения всех данных для запроса.
 
−
# Приложение периодически опрашивает сервис '''Статус поиска''', для обновления найденного количества туров и проверки что поиск не завершен.
 
−
# Получив информацию что поиск завершен приложение может:
 
−
#* сообщить пользователю что поиск завершен
 
−
#* предложить обновить результаты поиска (т.к. могли быть найдены новые данные)
 
−
#* обновить результаты поиска автоматически
 
−
# Для обновления результатов поиска приложение отправляет сервису '''Результаты поиска''' поисковый запрос, идентичный тому что был отправлен ранее.
 
−
 
−
<br>
 
−
 
−
==== Особенности работы ====
 
−
===== Время поиска =====
 
−
* Т.к. в момент поиска приходится ждать ответа из разных систем, полный поиск может занимать продолжительное время.
 
−
* Ограничение на время полного поиска 30 сек., после этого в результаты поиска попадают туры найденные за это время.
 
−
* Приложение должно запрашивать у сервиса нужную ему страницу данных. Страница определяется параметрами dataLimit, dataOffset.
 
−
* После запроса сервис возвращает данные в момент когда:
 
−
** либо найдено достаточное количество данных для формирования запрошенной страницы
 
−
** либо истек таймаут
 
−
* Таймаут на возврат запрошенной страницы 10 сек. По истечении таймаута сервис вернет все найденные на этот момент предложения.
 
−
* Таймаут может быть автоматически увеличен до 30 сек, если за это время ни одного предложения не найдено, но все еще ожидается ответ от медленного поставщика данных.
 
−
 
−
===== Минимальная цена =====
 
−
* При возврате запрошенной страницы первым туром будет тур с минимальной ценой из всех найденных в текущий момент.
 
−
* Если на момент возврата страницы таймаут еще не истек, это тур с минимальной ценой по данному запросу.
 
−
* Если страница возвращена из-за таймаута, то потенциально в процессе поиска могут быть найдены туры с ценой меньше. Они будут доступны по данному запросу после окончания поиска.
 
−
 
−
===== Кеширование =====
 
−
* Результаты всех запросов кешируются.
 
−
* Последующий запрос с аналогичными параметрами (без учета dataLimit, dataOffset) будет возвращен из кеша.
 
−
* Время жизни кеша 15 минут.
 
−
* В случае если при обращении к сервису с определенными параметрами поиск по таким параметрам уже идет, то:
 
−
** если данные для формирования запрошенной страницы уже найдены, будет возвращен результат
 
−
** если данные для формирования запрошенной страницы еще найдены, результат будет возвращен как только будут найдены данные
 
−
 
−
==== Ограничения ====
 
−
* Количество данных возвращаемое одним запросом: не более 2500 туров.
 
−
* Макс. допустимое количество запросов в сутки: 3000
 
−
 
−
 
−
'''Обратите внимание:''' Большее число запросов необходимо согласовывать индивидуально, и может повлечь за собой увеличение тарифов. Если не было соответствующей договоренности, то при превышении нагрузки сервис может быть отключен без предварительного предупреждения.
 

Версия 17:11, 8 июля 2014

Описание интерфейса


Назначение сервиса

Сервис предназначен для:

  • импорта данных в систему клиента
  • организации поиска на сайте клиента


В зависимости от выбранного клиентом способа использования администрацией TourClient выставляется соответствующая настройка сервиса - тип поиска. Клиенту изменение данной настройки недоступно.

Тип поиска определяет поведение сервиса и предоставляемые им данные.