Мастер-Web:Дополнительный модуль Распределенный поиск — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 247: Строка 247:
 
</table>
 
</table>
 
Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов <ReplcamentSubItem>, где:
 
Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов <ReplcamentSubItem>, где:
 
+
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
 +
style='border-collapse:collapse;border:none'>
 +
<tr>
 +
  <td width=121 valign=top style='width:90.45pt;border:solid windowtext 1.0pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Type</span></p>
 +
  </td>
 +
  <td width=517 valign=top style='width:388.1pt;border:solid windowtext 1.0pt;
 +
  border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal>- тип условия подстановки; возможные значения: <span
 +
  style='font-size:10.0pt;font-family:"Courier New"'>departFrom</span>, <span
 +
  style='font-size:10.0pt;font-family:"Courier New"'>country</span>, <span
 +
  style='font-size:10.0pt;font-family:"Courier New"'>city</span></p>
 +
  </td>
 +
</tr>
 +
<tr>
 +
  <td width=121 valign=top style='width:90.45pt;border:solid windowtext 1.0pt;
 +
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>LocalValue</span></p>
 +
  </td>
 +
  <td width=517 valign=top style='width:388.1pt;border-top:none;border-left:
 +
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal>- ключ сущности в локальной базе</p>
 +
  </td>
 +
</tr>
 +
<tr>
 +
  <td width=121 valign=top style='width:90.45pt;border:solid windowtext 1.0pt;
 +
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>RemoteValue</span></p>
 +
  </td>
 +
  <td width=517 valign=top style='width:388.1pt;border-top:none;border-left:
 +
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
 +
  padding:0cm 5.4pt 0cm 5.4pt'>
 +
  <p class=MsoNormal>- ключ сущности во внешнем источнике</p>
 +
  </td>
 +
</tr>
 +
</table>
 +
Пример:<BR>
 +
*1. Добавить предложения по Хорватии (в локальном источнике отсутствует, ключ во внешнем источнике - 123) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
 +
<ReplcamentSearchItem>
 +
<SubItems>
 +
<ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" />
 +
<ReplcamentSubItem Type="country" LocalValue="0" RemoteValue="123" Name="Хорватия" />
 +
</SubItems>
 +
</ReplcamentSearchItem>
 +
*2. Добавить предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
 +
<ReplcamentSearchItem>
 +
<SubItems>
 +
<ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" />
 +
<ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" />
 +
</SubItems>
 +
</ReplcamentSearchItem>
 +
*3. Включить в предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Екатеринбурга (ключ 648 в локальном источнике и 266 во внешнем источнике) город Салоники (в локальном источнике отсутствует ; ключ во внешнем источнике - 615)
 +
<ReplcamentSearchItem>
 +
<SubItems>
 +
<ReplcamentSubItem Type="departFrom" LocalValue="648" RemoteValue="266" />
 +
<ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" />
 +
<ReplcamentSubItem Type="city" LocalValue="0" RemoteValue="615" Name="Салоники" />
 +
</SubItems>
 +
</ReplcamentSearchItem>
 +
==Работа в системе==
 +
===Схема распределенного поиска===
 +
<BR>
 +
[[Файл:818.PNG]]<BR>
 
[[Category:Мастер-Web_Дополнительные_модули]]
 
[[Category:Мастер-Web_Дополнительные_модули]]

Версия 17:01, 31 октября 2011

Введение

Модуль «Распределенный поиск» предназначен для отображения в собственном поисковом модуле предложений сторонних туроператоров.

Установка

Для установки Распределенного поиска нужно создать директорию DistributedSearch в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда распакованные файлы из архива mw-distributedsearch-2007.2.XX.XXXX.zip. В управлении IIS необходимо создать виртуальный каталог для папки DistributedSearch. Для развертывания распределенного поиска необходимо на web-сервере каждого туроператора, включая собственный web-сервер, установить Сервис по загрузке поисковых фильтров (FilterBinding) и Поисковый сервис (SearchService). Описание процесса установки сервиса приведено в руководстве пользователя соответствующего сервиса.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:

  • 1. Зайти в меню Пуск (Start) – Настройки (Settings) – Панель управления (Control Panel).


813.PNG

  • 2. В открывшемся окне выбрать Администрирование (Administrative Tools).


814.PNG

  • 3. Запустить Internet Information Services (IIS) Manager.


815.PNG

  • 4. В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и зайти в Свойства (Properties).


816.PNG

  • 5. В открывшемся окне, в закладке Directory нужно нажать кнопку «Create», а затем кнопку «ОК».


817.PNG

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке DistributedSearch пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:

  • 1. <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
  • 2. <add key = "connectionStringShort" value = "Data Source= ip-адрес сервера базы данных ПК Мастер-Тур;Initial Catalog= название базы данных ПК Мастер-Тур;"/>

Настройка

Настройки в файле web.config

Добавление секций

  • 1. В секции <ConfigSections> необходимо добавить подсекцию:
<sectionGroup name="Megatec.Web.Services">
<section name="servicesAccessibility" 
type="Megatec.Configuration.WebServicesSection, Megatec.Configuration"/>
</sectionGroup>
  • 2. На одном уровне с секцией <ConfigSections> необходимо добавить секцию:
<Megatec.Web.Services>
 <servicesAccessibility Enabled="true">
<Services>
<add name="FilterBinding" enabled="true" url="http: //website.ru/ws-filter-binding/FilterBindingService.asmx"/>
<add name="DoSearch" enabled="true" url="http: //website.ru/ws-search/Search.asmx"/>
</Services>
</servicesAccessibility>
</Megatec.Web.Services>

В данной секции необходимо указать адреса собственного сервиса загрузки фильтра и поискового сервиса.

Дополнительные настройки

Дополнительные настройки, задаваемые в секции <Megatec.Web.Services/> файла web.config, находящемся в папке RemoteBasket.

Описание

Значение

Настройка

1

Настройка, определяющая расположение сервиса по загрузке поисковых фильтров.

 

<add name="FilterBinding" enabled="true" url="http://dev1-07/filterbinding/FilterBindingService.asmx%22/>

2

Настройка, определяющая расположение поискового сервиса.

 

<add name="DoSearch" enabled="true" url="http://dev1-07/search/Search.asmx%22/>

3

Настройка, определяющая расположение сервиса бронирования.

 

<add name="Reservation" enabled="true" url="http://localhost/reservation/ReservationService.asmx%22/>

4

Настройка, определяющая расположение сервиса формирования списка услуг.

 

<add name="ServiceProvider" enabled="true" url="http://dev1-07/reservation/ServiceProvider.asmx%22/>

5

Настройка, определяющая расположение сервиса проверки квот.

 

<add name="CheckQuotes" enabled="true" url="http://dev1-07/checkquotes/CheckQuotesService.asmx%22/>

Настройки файла distributedSearchSettings.xml

Файл distributedSearchSettings.xml содержит информацию о внешних источниках данных. Элемент <Enabled>true</Enabled> элемента <DistributedSearchSettings> указывает на необходимость проведения поиска во внешних источниках данных.
Каждый из элементов <DistributedSearchSource Id="src"> элемента <SearchSources> представляет собой описание источника данных. Атрибут id может быть произвольным, но уникальным в рамках документа.

<FilterBindingServiceUrl>

- адрес сервиса загрузки поискового фильтра для данного источника

<SearchServiceUrl>

- адрес поискового сервиса для данного источника

<FlightGroups>

- перечисление ключей классов перелетов разделенных на группы знаком «|»; порядок групп должен соответствовать порядку указанному в секции MasterWeb/ dynamicCharterClasses файла web.config; если какая либо группа из файла web.config несвойственна данному источнику, то в ней указывается ключ ”-1”     

<ReplcamentSearchItems

- правила подстановки данных из поискового фильтра данного источника в локальный фильтр

Правило подстановки данных из поискового фильтра данного источника в локальный фильтр задается при помощи набора элементов <ReplcamentSubItem>, где:

Type

- тип условия подстановки; возможные значения: departFrom, country, city

LocalValue

- ключ сущности в локальной базе

RemoteValue

- ключ сущности во внешнем источнике

Пример:

  • 1. Добавить предложения по Хорватии (в локальном источнике отсутствует, ключ во внешнем источнике - 123) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" />
<ReplcamentSubItem Type="country" LocalValue="0" RemoteValue="123" Name="Хорватия" />
</SubItems>
</ReplcamentSearchItem>
  • 2. Добавить предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Москвы (ключ 30 в локальном источнике и 1 во внешнем источнике)
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem Type="departFrom" LocalValue="30" RemoteValue="1" />
<ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" />
</SubItems>
</ReplcamentSearchItem>
  • 3. Включить в предложения по Греции (ключ 520 в локальном источнике и 29 во внешнем источнике) при вылете из Екатеринбурга (ключ 648 в локальном источнике и 266 во внешнем источнике) город Салоники (в локальном источнике отсутствует ; ключ во внешнем источнике - 615)
<ReplcamentSearchItem>
<SubItems>
<ReplcamentSubItem Type="departFrom" LocalValue="648" RemoteValue="266" />
<ReplcamentSubItem Type="country" LocalValue="520" RemoteValue="29" Name="Греция" />
<ReplcamentSubItem Type="city" LocalValue="0" RemoteValue="615" Name="Салоники" />
</SubItems>
</ReplcamentSearchItem>

Работа в системе

Схема распределенного поиска


818.PNG