opensearch

Post on 01-Nov-2014

5.616 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/

OpenSearch

Dr. Harry Chen

CMSC 491S/691S

March 12, 2008

Agenda

What’s OpenSearch technology?Overview OpenSearch specification

Describe an OpenSearch service Advertise and compose a search request Discover a new OpenSearch service

Inside OpenSearch application implementation

OpenSearch at a9.com

OpenSearch in Firefox

OpenSearch

OpenSearch is a set of standards for describing search services and publishing search results on the Web.

XML is used to describe services and search results.

Search results are published in a syndication format (RSS or Atom)

Typical OpenSearch Model

OpenSearch Client

OpenSearch Services

Communication

OpenSearch Client(e.g., a9.com)

OpenSearch Services(e.g., IMDB)

Query string (plain text) Search results (HTML)

HTTP GET requesthttp://foo.com/os?q=stuff

HTTP ResponseRSS/Atom (XML)

You

OpenSearch != Meta-Search Engine

OpenSearch is a technology for building search services for the open Web.

It’s not a search engine or a meta-search engine But, you can use this technology to build meta-

search engines, vertical-market search engines, your-personal-search engines, my-social-network-search engines etc.

Key Features

Autodiscovery

Search ResultDescription

Search URL Template

ServiceDescription

OpenSearch

Service Description

An XML document that describes the properties of a search service. E.g. “What can you tell me this service?” “Who developed this service?” “Does this service output adult-content?” “What’s the license model for this service?” “What’s the URL to call the search service?” And more…

http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_3#OpenSearch_description_elements

An Example

Yahoo! Web Search

* Defined in gnizr Open Source

** In our gnizr installation:http://eb1.cs.umbc.edu:8080/gnizr/settings/opensearch/yahoo-searchdescription.xml

Publishing the Service Description

You announce the availability of the search service by publishing the description document on the Web

Few options Submit the description doc URL to an OpenSearch

directory Embed a <meta/> tag description in various HTML

pages for crawlers to discover Describe this information in your RSS feeds

Found a Service, Now what?

You need to know how to “invoke” the search request.

This information is defined in the <Url/> in the service description doc.

Decoding the URL Template

The URL template tells the client how to compose a URL used for sending search request.

It’s a template because it has special syntax for “value-replacement”. {searchTerms} put your search string here {startIndex} return search result from this idx Etc.

An Yahoo! example

Place your search query here.(e.g., java)

Where you want the index to start for the matching search results(e.g., 1)

Other Terms in the URL Template

{count} : # of results per page {startPage}: the page number of the set of

search result {startIndex}: the index of the first search result

desired {language}: desired language of the search

result And more…

http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_3#OpenSearch_1.1_parameters

Try-it-yourself

If you feed the URL into your browser…

Reading the Search Result

Search Results are usually described in RSS or Atom

Special OpenSearch vocabularies are used to describe additional search information that can’t expressed in the core RSS or Atom vocabularies.

Result in RSS 2.0

Atom vocab. is used to “point to” the service description URL

Result in Atom

How to Announce the Service

Other than manually submit your service description to an OpenSearch directory, you can exploit autodiscovery.

A standard way for crawlers and clients to discover your services from HTML and RSS.

In HTML Pages

http://www.opensearch.org/Specifications/OpenSearch/1.1

In RSS feeds

http://www.opensearch.org/Specifications/OpenSearch/1.1

An Autodiscovery Example

In Firefox, whenever you see a “blueish” icon means an OpenSearch service is discovered.

http://en.wikipedia.org/wiki/Opensearch

How Wikipedia Implements OpenSearch

http://en.wikipeida.org view source

Service Description Doc http://en.wikipedia.org/w/opensearch_desc.php

Try-it-yourself

Enter the URL into the browser

Do you know how to compose a search request for Wikipedia?

What’s this?

a different URL for getting search term suggestions!

OpenSearch dev in Firefox

http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox

Summary

OpenSearch is a specification for describing and publishing search services on the open Web.

OpenSearch is not a search engine.Many Web sites support this standard, and

browsers can recognize and make use these services.

http://opensearch.org

top related