LXF139:Что за штука

Материал из Linuxformat.

Перейти к: навигация, поиск

Что за штука… OpenSearch?

Мар­ко Фио­рет­ти пред­став­ля­ет но­вый web-стан­дарт об­щения по­иско­вых движ­ков и кли­ент­ских при­ло­жений, по­вы­шаю­щий эф­фек­тив­ность по­иска.
  • Так что же за шту­ка — OpenSearch?
OpenSearch (http://opensearch.org) – это web-стан­дарт, оп­ре­де­ляю­щий про­стые, от­кры­тые фор­ма­ты по­иско­вых он­лайн-за­про­сов и спо­со­бы пред­став­ления ре­зуль­та­тов та­ких за­про­сов.
  • Пар­дон, а ка­кие про­бле­мы OpenSearch при­зван уст­ранить?
Раз­ра­бот­чи­ки OpenSearch счи­та­ют, что для по­иско­вых движ­ков необ­хо­дим стан­дарт­ный спо­соб «объ­я­вить» о сво­их воз­мож­но­стях, с це­лью из­влечь из них мак­си­мум. Движ­ки эти раз­лич­ны, и ни один из них не мо­жет в оди­ноч­ку ин­дек­си­ро­вать весь Ин­тернет наи­луч­шим об­ра­зом.
  • Но что кон­крет­но де­ла­ет OpenSearch?
Обес­пе­чи­ва­ет пря­мое ав­то­ма­ти­че­ское об­щение по­иско­вых движ­ков и кли­ен­тов. Од­на из ин­те­ресней­ших воз­мож­но­стей, соз­да­вае­мых стан­дар­том OpenSearch – он уп­ро­ща­ет со­став­ление и ис­поль­зо­вание про­грамм, при­ме­няе­мых для по­иска.
  • А раз­ве обыч­ный брау­зер это­го не де­ла­ет?
Нет. Ра­бо­тать с OpenSearch брау­зер мо­жет, но сам-то он по су­ти лишь немое ок­но, в ко­то­ром вы как умее­те объ­яс­няе­те по­иско­во­му движ­ку, что на­до най­ти. OpenSearch пред­на­зна­чен для ав­то­ма­ти­за­ции взаи­мо­дей­ствия по­иско­вых движ­ков со все­воз­мож­ны­ми кли­ен­та­ми, вклю­чая про­стые скрип­ты обо­лоч­ки (вы и са­ми мо­же­те пи­сать та­кие для оп­ти­ми­за­ции он­лайн-по­иска). Ещё од­на об­ласть при­менения OpenSearch – ав­то­ма­ти­че­ская пуб­ли­ка­ция (или по­иск) по­сто­ян­но об­нов­ляе­мых ре­зуль­та­тов в ви­де так на­зы­вае­мых «поль­зо­ва­тель­ских ка­на­лов по­иска».
  • «Поль­зо­ва­тель­ские ка­на­лы по­иска» — это что?
Во­об­ра­зи­те блог, где со­б­ра­ны ста­тьи на раз­ные те­мы. OpenSearch уп­ро­ща­ет напи­сание мо­ду­лей для ото­бра­жения на панели сбо­ку от ка­ж­дой ста­тьи пер­вых пя­ти ре­зуль­та­тов, ко­то­рые вы мог­ли бы по­лу­чить в дан­ный мо­мент в неком по­иско­вом движ­ке, по­слав за­прос на за­го­ло­вок ста­тьи. Это и на­зы­ва­ет­ся поль­зо­ва­тель­ский ка­нал по­иска.
  • Я по­нял! А для web-раз­рабт­чи­ков OpenSearch то­же по­ле­зен?
Да, по­сколь­ку по­зво­ля­ет в ре­аль­ном вре­мени рас­про­стра­нять вы­бор­ки кон­тен­та. На­при­мер, мно­гие от­кры­тые систе­мы управ­ления кон­тен­том, ти­па WordPress или Drupal, осна­ща­ют­ся внут­ренними по­иско­вы­ми движ­ка­ми. При­менение OpenSearch для опи­сания их ин­тер­фей­сов по­зво­ля­ет при­ло­жениям сто­ронних про­из­во­ди­те­лей рас­по­ря­жать­ся кон­тен­том со­от­вет­ствую­щих сай­тов спо­со­ба­ми, ко­то­рые об­лег­чат на­хо­ж­дение этих сай­тов, а сле­до­ва­тель­но, по­вы­сят их цен­ность.
  • Ка­ко­вы ком­понен­ты OpenSearch?
Те­ку­щая вер­сия (в ста­дии раз­ра­бот­ки) вклю­ча­ет че­ты­ре ком­понен­та: опи­са­тель­ные до­ку­мен­ты, син­так­сис URL-шаб­ло­нов, эле­мен­ты за­про­сов и эле­мен­ты ре­ак­ции.
  • И что опи­сы­ва­ют эти «опи­са­тель­ные до­ку­мен­ты»?
Это про­стые тек­сто­вые фай­лы, ко­то­рые «объ­яс­ня­ют» – в фор­ма­те XML, ко­то­рый лю­бая про­грам­мы в со­стоянии за­гру­жать, ана­ли­зи­ро­вать и «понимать» – как ра­бо­та­ет ин­тер­фейс по­иско­во­го движ­ка, ка­ко­го ти­па за­про­сы он принима­ет и как эти за­про­сы фор­ма­ти­ро­вать.
  • От­ку­да же про­грам­мы уз­на­ют о на­ли­чии та­ких опи­саний?
Бла­го­да­ря OpenSearch Autodiscovery. С по­мо­щью этой функ­ции по­иско­вые движ­ки смо­гут зая­вить о сво­ей со­вмести­мо­сти с OpenSearch. На прак­ти­ке web-масте­ра и раз­ра­бот­чи­ки по­иско­вых движ­ков бу­дут вво­дить на все свои страницы спе­ци­аль­ные ссыл­ки. Вот эти-то ссыл­ки и бу­дут го­во­рить брау­зе­рам и web-пау­кам: «Эй, здесь поль­зу­ют­ся OpenSearch; прой­ди по ссыл­ке  – и уз­на­ешь, как».
  • А как OpenSearch «объ­яс­ня­ет» пра­ви­ла со­став­ления по­иско­вых за­про­сов?
В ка­ж­дом опи­сании со­дер­жат­ся па­ра­мет­ри­че­ские URL-шаб­ло­ны стан­дарт­но­го син­так­си­са, на­при­мер <Url ... template=«http://examplecom?q={searchTerms}”/>. Это вы­ра­жение оз­на­ча­ет, что для по­иска све­дений о Ли­ну­се Тор­вальд­се с по­мо­щью по­иско­вой ма­ши­ны example.com нуж­но по­се­тить web-страницу по ад­ре­су http://example.com?q=Linus+Torvalds.
  • Что бу­дет, ес­ли по­иско­вый дви­жок со­вместим с OpenSearch?
Для пе­ре­го­во­ров по­иско­во­го кли­ен­та с этим движ­ком от ва­­ше­го имени нуж­но лишь од­на­ж­ды за­гру­зить файл опи­сания и уяснить, ка­ко­го ро­да URL’ы на­до генери­ро­вать для ор­ганиза­ции по­иска. Ре­аль­ные опи­сания, конеч­но, го­раз­до сложнее при­ве­дён­но­го при­ме­ра.
  • По­че­му? Что ещё мож­но сю­да при­об­щить?
Есть так­же, на­при­мер, эле­мен­ты Attribution, Syndication Rights, Language и, по­ве­ри­те ли, Adult. Пер­вые два ка­са­ют­ся пра­во­вой ин­фор­ма­ции, ко­то­рую вы долж­ны при­вести, встраи­вая ре­зуль­та­ты по­иска в соб­ствен­ный web-сайт. Language пе­ре­чис­ля­ет все язы­ки, под­дер­жи­вае­мые по­исковым движ­ком. Опи­сания OpenSearch вклю­ча­ют как минимум один за­прос-шаб­лон – кли­ен­ты мо­гут его ис­поль­зо­вать для про­вер­ки, пра­виль­но ли ра­бо­та­ет связь с движ­ком. Эле­мен­том Adult по­ме­ча­ют­ся ма­те­риа­лы, пред­на­зна­чен­ные толь­ко для взрослых.
  • Что вы ска­же­те об эле­мен­те Query?
Эле­мент Query [запрос] ис­поль­зу­ет­ся в OpenSearch для опи­сания спе­ци­аль­но­го по­иско­во­го за­про­са, ко­то­рый мо­жет вы­полнить кли­ент. Он де­ла­ет­ся для по­ка­за кли­ен­там всех воз­мож­но­стей по­иско­во­го движ­ка, а так­же что­бы под­твер­дить «усвоение» кли­ен­том при­ве­дён­но­го опи­сания. На­при­мер, в стан­дар­те ука­за­но, что эле­мент Query ти­па type=«request» мож­но ис­поль­зо­вать для воссоз­дания по­иско­во­го за­про­са, генери­ро­вав­ше­го те­ку­щие по­иско­вые ре­зуль­та­ты. Ес­ли по­местить в опи­сание эле­мен­та Query нечто вро­де <Query role=«request» searchTerms=«cat» />, это все рав­но что ска­зать «в ин­дек­се по­иско­во­го движ­ка на­вер­ня­ка есть что-то про ко­шек, и ес­ли за­прос о кош­ках ниче­го не даст, то что-то яв­но не так».
  • А эле­мен­ты Response?
Эле­мен­ты Response [ре­ак­ции] при­ме­ня­ют­ся для до­бав­ления к по­иско­вым ре­зуль­та­там ме­та­дан­ных. Это све­дения об об­щем ко­ли­че­стве ре­зуль­та­тов, ко­то­рые мож­но по­лу­чить при по­иске по за­дан­ным тер­ми­нам; ко­ли­че­ство та­ких ре­зуль­та­тов на страницу и ин­декс пер­во­го эле­мен­та на те­ку­щей странице. По­следний по­зво­лит оценить ре­ле­вант­ность те­ку­щей страницы ре­зуль­та­тов.
  • ОК, кар­ти­на яс­на. Ну, а про­сто ав­то­ма­ти­че­ский по­иск воз­мо­жен?
Да, но он зна­чи­тель­но сложнее. Раз­ра­бот­чи­кам кли­ен­тов при­шлось бы пи­сать мно­го лишнего ко­да для вы­яснения то­го, что OpenSearch пре­достав­ля­ет в стан­дарт­ной фор­ме.
  • А кто-нибудь этим уже поль­зу­ет­ся?
Конеч­но. OpenSearch встро­ен в по­иско­вую стро­ку Firefox, ис­поль­зу­ет­ся в Google Chrome и Internet Explorer. Пе­ре­чень про­чих по­иско­вых кли­ен­тов име­ет­ся на сай­те http://www.opensearch.org/Community/OpenSearch_enabled_search_clients. OpenSearch ис­поль­зу­ют спе­циа­ли­зи­ро­ван­ные пор­та­лы вро­де Last.fm. Этот про­то­кол под­дер­жи­ва­ет­ся Drupal; мож­но най­ти биб­лио­те­ки для Perl, PHP и Python. Су­ще­ству­ет да­же сайт, по­свя­щен­ный соз­данию мо­ду­лей для Firefox: https://develoPer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox.
  • А кто занима­ет­ся раз­ра­бот­кой OpenSearch?
Из­на­чаль­но OpenSearch был соз­дан A9.com, ком­панией Amazon. Раз­ра­бот­ка и ис­поль­зо­вание стан­дар­та, про­во­ди­мые со­об­ще­ством со штаб-квар­ти­рой на http://opensearch.org, от­кры­ты для всех.
  • В ка­ком со­стоянии на­хо­дит­ся раз­ра­бот­ка OpenSearch?
По дан­ным сай­та OpenSearch, спе­ци­фи­ка­ция на­хо­дит­ся на эта­пе Draft 3, и вы­пускать но­вую вер­сию в обо­зри­мом бу­ду­щем не планиру­ет­ся, хо­тя стан­дарт за­ду­ман как рас­ши­ряе­мый.
Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию