Кафедра информационных технологий курсовая работа проектирование и реализация расширяемого поискового сервера


Синтаксис построение поискового запроса


Download 70.69 Kb.
bet9/10
Sana20.06.2023
Hajmi70.69 Kb.
#1628198
TuriКурсовая
1   2   3   4   5   6   7   8   9   10
Bog'liq
kursovaya

5.2 Синтаксис построение поискового запроса


Так как запрос может иметь различную структуры в зависимости от запроса, который посылает пользователь, важно выделить основные правила формирования запроса. Определенные правила необходимы в первую очередь для серверной обработки и преобразования json-текста к объектному виду.
Под правилами запроса будем подразумевать название json секций, их значений и требования к их определению.
Опишем различные варианты определения секций и их предназначение.

  • resourceMode – источник поиска и обработки (см. пункт 1 – основные критерии поискового запроса):

    1. StaticMode;

    2. DynamicMode.

  • resourcesData – список статично заданных адресов, если resourceMode определен как StaticMode и список правил получения запроса для DynamicMode;

  • parsingRules – правила поиска информации:

    1. xpathRules – правила, основанные на поиске элементов по xpath значению на определенном ресурсе:

      1. xpath – значение xpath;

      2. type – Тип получение данных:

      3. attrValue – необязательный параметр для указания атрибуты поиска.

    2. classidRules – правила, основанные на поиске элементов по css-классу или css-идентификатору:

      1. class – значение класса;

      2. id – значение id;

      3. type - Тип получение данных:

        • Text – для текстовых данных;

        • Attr – для получения html атрибута;

      4. attrValue – необязательный параметр для указания атрибуты поиска.

  • serverRules – некоторые параметры для контролирования процесса обработки запроса на сервере:

    1. priority – приоритет обработки запроса (Может игнорироваться в случае недостаточных прав пользователя);

    2. threadNum – попытка указать серверу на сколько потоков делить обработку (Может игнорироваться в случае недостаточных прав пользователя);

    3. Mode – опция обработки запроса:

      1. once – единоразовая обработка запроса;

      2. regular – Обработка запроса по таймеру или некоторому событию:

    4. proxy – опция для задания прокси серверов;

    5. timeDelay – временная задержка между запросами для избегания блокировки со стороны сторонних серверов (Может игнорироваться в случае недостаточных прав пользователя).

Данная структура Json-запроса переводится в аналогичную структуру объектного типа и в дальнейшем используется для обработки. Приведем пример простого запроса:
{
"resourcesMode": "StaticMode",
"resourcesData": [
"https://www.kinopoisk.ru/news/3077443/"
],
"parsingRules": {
"xpathRules" : [
{
"xpath": "//*[@id='newsTopBox']/div[1]/a",
"type": "Text",
"attrValue": "href"
}
]
}
}
Запрос имеет один статический ресурс и одно просто правило для обработки веб-страницы.
Для проведения тестов была сделана веб-форма для отправки запросов на сервер посредством POST метода.
Рисунок 1 – Интерфейс для отправки тестовых запросов
После написания запроса и нажатия кнопки отправки, выполняется javascript скрипт с ajax запросом к удаленному серверу. Так как данная форма сделана исключительно для тестирования, веб-сервер и сервер приложения находятся на одном хосте и доступны друг для друга по адресу http://localhost:8080/.


Download 70.69 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling