Кафедра информационных технологий курсовая работа проектирование и реализация расширяемого поискового сервера
Синтаксис построение поискового запроса
Download 70.69 Kb.
|
kursovaya
5.2 Синтаксис построение поискового запросаТак как запрос может иметь различную структуры в зависимости от запроса, который посылает пользователь, важно выделить основные правила формирования запроса. Определенные правила необходимы в первую очередь для серверной обработки и преобразования json-текста к объектному виду. Под правилами запроса будем подразумевать название json секций, их значений и требования к их определению. Опишем различные варианты определения секций и их предназначение. resourceMode – источник поиска и обработки (см. пункт 1 – основные критерии поискового запроса): StaticMode; DynamicMode. resourcesData – список статично заданных адресов, если resourceMode определен как StaticMode и список правил получения запроса для DynamicMode; parsingRules – правила поиска информации: xpathRules – правила, основанные на поиске элементов по xpath значению на определенном ресурсе: xpath – значение xpath; type – Тип получение данных: Text – для текстовых данных; Attr – для получения html атрибута; attrValue – необязательный параметр для указания атрибуты поиска. classidRules – правила, основанные на поиске элементов по css-классу или css-идентификатору: class – значение класса; id – значение id; type - Тип получение данных: Text – для текстовых данных; Attr – для получения html атрибута; attrValue – необязательный параметр для указания атрибуты поиска. serverRules – некоторые параметры для контролирования процесса обработки запроса на сервере: priority – приоритет обработки запроса (Может игнорироваться в случае недостаточных прав пользователя); threadNum – попытка указать серверу на сколько потоков делить обработку (Может игнорироваться в случае недостаточных прав пользователя); Mode – опция обработки запроса: once – единоразовая обработка запроса; regular – Обработка запроса по таймеру или некоторому событию: timer – время повторного запуска; action – описание события для повторной обработки запроса; proxy – опция для задания прокси серверов; 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling