Поиск / Получение через URL |
Автор: admin Просмотров: 2591 Комментарии:
Добавлен: 23 января 2017
Обновлено: 23.01.2017 - 19:56
Поиск / Получение через URL (SRU - Search / Retrieve via URL) - стандартизированный протокол поиска для запросов поиска в Интернет, используя универсальный язык запросов CQL en: Common Query Language . SRU является техническим стандартом для библиотек, предложенным в рамках инициативы "Z39.50 International Next Generation" (ZING) для создания современного варианта протокола Z39.50. Связанные с SRU технологии основаны на известных интернет-стандартах, таких как XML и URI, широко распространены и за пределами библиотек в отличие от Z39.50. Стандартам относятся:
SRW (Поиск / получения с Интернет (Search / Retrieve for the Web))
CQL (Универсальный язык запросов ( Common Query Language ))
ZOOM (объектно ориентированная модель Z39.50 (Z39.50 Object Orientation Model))
ez3950 и ZeeRex.
Проблемы, которые необходимо решить
Существует немало поисковых систем и баз данных. Каждый из этих двигателей имеет различные формы и параметры при создании запросов. Например, ниже представлены поисковые запросы за «Search / Retrieve via URL» в трех поисковых системах Интернета:
https://www.google.com/search?q=Search%2FRetrieve+via+URL
https://www.search.yahoo.com/search;p=Search%2FRetrieve+via+URL
https://buscar.hispavista.com/?cadena=Search%2FRetrieve+via+URL&Submit=Buscar&str=Search%2FRetrieve+via+URL
Хотя запросы одни и те же, синтаксис , используемый для реализации поиска, неодинаков. Луков, структура ответов непохожа. SRU стремится исправить это с использованием специального синтаксиса для запросов и специального формата при возвращении результатов поиска. Это позволит людям искать в интернете эффективнее.
Инструкции
Для поиска в базах данных, протокол SRU предусматривает использование трех различных инструкций:
Explain
Scan
SearchRetrieve
Explain
Операция «Explain» спрашивает общую информацию о сервер базы данных и его функциональность. По крайней мере, ответы должны содержать расположения сервера, описание содержания и функциональности и протокол поддерживает сервер . За реализацией SRU, пустая строка интерпретируется как тип операции «Explain». Если операция не указана, необходимо также добавить параметр используемой версии SRU. Поэтому следующие две строки операции «Explain» имеют смысл:
https://example.org/
https://example.org/?operation=explain&version=1.1
В этом случае сервером возвращается такой XML:
<explainResponse>
<version> 1.1 </ version>
<record>
<recordSchema> {{format ref}} https://explain.z3950.org/dtd/2.0/ </ recordSchema>
<recordPacking> xml </ recordPacking>
< recordData>
<explain>
<serverInfo>
<host> example.org </ host>
<port> 80 </ port>
<database> / </ database>
</ serverInfo>
<databaseInfo>
<title> Exemple SRU </ title>
<description lang = "en" primary = "true" >
Aquest es un exemple de base de dades SRU
</ description>
</ databaseInfo>
<indexInfo>
<set identifier = 'info: srw / cql-context-set / 1 / dc-v1.1 " name = " dc " />
<index>
<title> title </ title>
<map>
<name set = 'dc' > title </ name>
</ map>
</ index>
</ indexInfo>
<schemaInfo>
<schema identifier = 'info: srw / schema / 1 / dc-v1. 1 '
sort = "false" name = "dc" >
<title> Dublin Core </ title>
</ schema>
</ schemaInfo>
<configInfo>
<default type = ' numberOfRecords " > 9999 </ default>
</ configInfo>
</ explain>
</ recordData>
</ record>
</ explainResponse>
В ответ сервер сообщает нам, что база данных размещена на сайте «example.org», содержит информацию о примере на SRU и Вы можете получить различные 9999 записей.
Scan
По этой инструкции сервер возвращает список с количеством найденных записей в базе данных. Инструкции "scan" необходимо также добавить переменную "scanClause", содержащий объект поиска и переменную "version" с используемой версией SRU. Таким образом, запрос, чтобы узнать, сколько записей в базе данных с вхождением "SRU" может выглядеть так:
https://example.org/?operation=scan&scanClause=SRU&version=1.1
Ответ сервера:
<scanResponse>
<version> 1.1 </ version>
<terms>
<term>
<value> SRU </ value>
<numberOfRecords> 3 </ numberOfRecords>
</ term>
</ terms>
</ scanResponse>
В этом случае, сервер сообщил нам, что есть 3 записи, касающиеся запроса "SRU".
SearchRetrieve
Это важнейшая операция протокола. В ответ на операцию SearchRetrieve получаются записи, которые запрашиваются с сервера. Запросы могут быть в форме простого текста или же быть сочетаниями булевых функций . В этом случае к операции "searchRetrieve" необходимо добавить по крайней мере переменную "query" для запроса и переменную "version" для номера версии.
https://example.org/?operation=searchRetrieve&query=SRU&version=1.1
Ответ сервера будет структурирована в виде простого текста или XML, как показано ниже:
<searchRetrieveResponse>
<version> 1.1 </ version>
<numberOfRecords> 3 </ numberOfRecords>
<records>
<record>
<recordSchema> info: srw / schema / 1 / dc-v1.1 </ recordSchema>
<recordPacking> xml < / recordPacking>
<recordData>
<dc>
<title> SRU a la "Library of Congres" </ title>
<identifier> https://example.org/library.html </ identifier>
</ dc>
</ recordData>
</ record>
<record>
<recordSchema> info: srw / schema / 1 / dc-v1.1 </ recordSchema>
<recordPacking> xml </ recordPacking>
<recordData>
<dc>
<title> Sintaxi de SRU </ title >
<identifier> https://example.org/sintaxi.html </ identifier>
</ dc>
</ recordData>
</ record>
<record>
<recordSchema> info: srw / schema / 1 / dc-v1.1 </ recordSchema>
<recordPacking> xml </ recordPacking>
<recordData>
<dc>
<title> Exemples SRU </ title>
<identifier> https://example.org/exemple.html </ identifier>
</ dc>
< / recordData>
</ record>
</ records>
</ searchRetrieveResponse>
SRW
Ключевым компонентом этой инициативы ZING является протокол поиска / получения в веб-службах (SRW, Search / Retrieve Web Service), что позволяет выполнять аналогичные Z39.50 запросы через HTTP с помощью простых запросов HTTP GET, или по протоколу SOAP . Запросы формулируются на языке запросов CQL а результаты получаются в виде XML.
SRU
SRU предлагает меньше возможностей чем SRW, нет SOAP и, следовательно, значительно компактнее.
https://uk.wikipedia.org/wiki/Пошук/Отримання_через_URL
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Разное
Комментарии |