Transcript
Page 1: BOSS: Yahoo HackU IIIT Bangalore

Saurabh Sahni

Developer, hacker, evangelist

Build your Own Search Service

Yahoo! HackU IIIT Bangalore | 5th December 2009

Page 2: BOSS: Yahoo HackU IIIT Bangalore

Outline

•  About BOSS API – What?

– Why? – Features

•  What can be built with the BOSS API? •  How to use it

– BOSS API – Code example – BOSS Mashup framework

Page 3: BOSS: Yahoo HackU IIIT Bangalore

About BOSS API

Page 4: BOSS: Yahoo HackU IIIT Bangalore

What?

•  Open Yahoo’s core search features via web services to let 3rd parties revolutionize Search

http://developer.yahoo.com/search/boss

Page 5: BOSS: Yahoo HackU IIIT Bangalore

Usage

Opening the search technology stack

CRAWL

EXTRACT

SPAM <-> Gold

Analyze

Index

Rank Assist

Index

Web Map

Retrieve

Page 6: BOSS: Yahoo HackU IIIT Bangalore

Usage

Opening the search technology stack

CRAWL

EXTRACT

SPAM <-> Gold

Analyze

Index

Rank Assist

Index

Web Map

Retrieve

WEB API

Your App here

Page 7: BOSS: Yahoo HackU IIIT Bangalore

Why?

•  Removes entry barriers

•  Asset to Innovate –  Develop new relevance models –  Change presentation style

•  Search anywhere –  Improve Vertical Quality with Web comprehensiveness

Page 8: BOSS: Yahoo HackU IIIT Bangalore

BOSS API features

• No branding or attribution

• Ability to change presentation style • Ability to re-order results and blend-in additional

content

• Access to multiple verticals (web search, image, news)

• Keyword suggestions, spell checks • Semantic data, in-links, abstracts • Ability to monetize

Page 9: BOSS: Yahoo HackU IIIT Bangalore

What can be built with the BOSS API?

Page 10: BOSS: Yahoo HackU IIIT Bangalore

middlespot.com

10 

Page 11: BOSS: Yahoo HackU IIIT Bangalore

Inquisitor: Browser Extenstion

11 

Page 12: BOSS: Yahoo HackU IIIT Bangalore

Cluuz: http://cluuz.com

Page 13: BOSS: Yahoo HackU IIIT Bangalore

Keyword finder - http://keywordfinder.org/

Page 14: BOSS: Yahoo HackU IIIT Bangalore

askBOSS: http://ask-boss.appspot.com/

Page 15: BOSS: Yahoo HackU IIIT Bangalore

askBOSS: http://ask-boss.appspot.com/

Page 16: BOSS: Yahoo HackU IIIT Bangalore

askBOSS: http://ask-boss.appspot.com/

Page 17: BOSS: Yahoo HackU IIIT Bangalore

Webmeme: http://www.webmeme.in

17 

Page 18: BOSS: Yahoo HackU IIIT Bangalore

How to use it?

Page 19: BOSS: Yahoo HackU IIIT Bangalore

Get Started

•  Register for an application id http://developer.yahoo.com/wsregapp/

Page 20: BOSS: Yahoo HackU IIIT Bangalore

Get Started…

•  Documentation http://developer.yahoo.com/search/boss/boss_guide/

•  Code samples: Javascript, PHP and Python http://www.saurabhsahni.com/boss-examples.zip

Page 21: BOSS: Yahoo HackU IIIT Bangalore

BOSS Search API Interface

•  {query}: term to look for (url-encoded) •  {vert} := {web, news, images, spelling}

•  @ required – appid

•  @ optional – start, count, lang, region, format, callback,

sites, view

http://boss.yahooapis.com/ysearch/{vert}/v1/{query}

Page 22: BOSS: Yahoo HackU IIIT Bangalore

BOSS API

Searching Slumdog

Millionaire

(Source: http://en.wikipedia.org/wiki/File:Slumdog_Millionaire_poster.jpg)

Page 23: BOSS: Yahoo HackU IIIT Bangalore

BOSS API

•  Search for slumdog millionaire: –  http://boss.yahooapis.com/ysearch/web/v1/slumdog+millionaire?appid=xyz&format=xml

Page 24: BOSS: Yahoo HackU IIIT Bangalore

BOSS API: XML response

h"p://boss.yahooapis.com/ysearch/web/v1/slumdog+millionaire?appid=xyz&format=xml 

Page 25: BOSS: Yahoo HackU IIIT Bangalore

Site Restrict Search

•  Search for slumdog millionaire on selected movie sites – Add param

sites=indiatimes.com,movies.yahoo.com,imdb.com

–  http://boss.yahooapis.com/ysearch/web/v1/slumdog

+millionaire?appid=xyz&sites=indiatimes.com%2Cmovies.yahoo.com&format=xml

Page 26: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/web/v1/slumdog+millionaire? appid=xyz&sites=indiatimes.com%2Cmovies.yahoo.com&format=xml

Page 27: BOSS: Yahoo HackU IIIT Bangalore

Search images

•  http://boss.yahooapis.com/ysearch/images/v1/slumdog +millionaire?dimensions=large

Page 28: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/images/v1/ slumdog +millionaire

Page 29: BOSS: Yahoo HackU IIIT Bangalore

Search News

•  http://boss.yahooapis.com/ysearch/news/v1/slumdog +millionaire?age=15d

Page 30: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/news/v1/ slumdog + millionaire?age=15d

Page 31: BOSS: Yahoo HackU IIIT Bangalore

Code Example Movie Search

Page 32: BOSS: Yahoo HackU IIIT Bangalore
Page 33: BOSS: Yahoo HackU IIIT Bangalore

Movie Search Code Example

Page 34: BOSS: Yahoo HackU IIIT Bangalore

http://www.saurabhsahni.com/boss-examples.zip

Page 35: BOSS: Yahoo HackU IIIT Bangalore

More with BOSS API

Page 36: BOSS: Yahoo HackU IIIT Bangalore

Related keywords

Add parameter view=keyterms –  http://boss.yahooapis.com/ysearch/web/v1/slumdog

+millionaire?appid=xyz&view=keyterms&format=xml

Page 37: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/web/v1/slumdog +millionaire appid=xyz&view=keyterms&format=xml

Page 38: BOSS: Yahoo HackU IIIT Bangalore

Semantic Data

•  Access structured data acquired through SearchMonkey

Page 39: BOSS: Yahoo HackU IIIT Bangalore

Semantic Data

view=searchmonkey_feed view=searchmonkey_rdf

http://developer.yahoo.com/search/boss/stuctureddata.html

Page 40: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/web/v1/slumdog +millionaire?appid=xyz& view=searchmonkey_feed&format=xml

Page 41: BOSS: Yahoo HackU IIIT Bangalore

Long abstracts

•  Add parameter abstract=long – get up to 300 characters instead of 130

Page 42: BOSS: Yahoo HackU IIIT Bangalore

http://boss.yahooapis.com/ysearch/spelling/v1/milionare?format=xml

Response

Spell Check 

Page 43: BOSS: Yahoo HackU IIIT Bangalore

Site Explorer

•  Get page inlinks –  http://boss.yahooapis.com/ysearch/se_inlink/v1/

{URL}?appid={APPID}

•  Page data: collection of subpages in a domain –  http://boss.yahooapis.com/ysearch/se_pagedata/v1/

{URL}?appid={APPID}

Page 44: BOSS: Yahoo HackU IIIT Bangalore

BOSS Mashup Framework

•  Python (v2.5+) library

•  BOSS Search SDK plus …

•  SQL for remixing arbitrary XML/JSON sources

http://developer.yahoo.com/search/boss/mashup.html

Page 45: BOSS: Yahoo HackU IIIT Bangalore

BMF + Google App Engine

•  Enhanced version of BMF to GAE platform

•  http://zooie.wordpress.com/2008/08/04/yahoo-boss-google-app-engine-integrated/

•  Enables quick deployment of BOSS applications online

Page 46: BOSS: Yahoo HackU IIIT Bangalore

More BOSS Implementations

•  http://mashable.com/boss/ •  http://delicious.com/tag/bossmashup

•  Add yours by tagging it with “bossmashup” on

Del.icio.us!

Page 47: BOSS: Yahoo HackU IIIT Bangalore

One more thing… One more thing…

Page 48: BOSS: Yahoo HackU IIIT Bangalore

BOSS in Academic Research

•  The biggest dataset available on web •  Very useful for Web-mining research

experiments – Natural language processing – Semantic extraction

– Related keywords – Similarity detection – Clustering algorithms – Spelling corrections

Page 49: BOSS: Yahoo HackU IIIT Bangalore

Learn more at: http://developer.yahoo.com/search/boss/

Slides at: http://www.slideshare.net/saurabhsahni/

Questions?

Page 50: BOSS: Yahoo HackU IIIT Bangalore

Appendix

Page 51: BOSS: Yahoo HackU IIIT Bangalore

BOSS Mashup Framework simplifies aggregating and presenting multiple data sources

Search UI Templates in BOSS Mashup Framework

Page 52: BOSS: Yahoo HackU IIIT Bangalore

BMF Features

•  select, group, sort, union, joins, udfs, where •  Text normalization and duplicate removal

•  All-in-memory storage and retrieval operations

•  Ability to join lists of tables via an arbitrary predicate function (map-like)

•  Search UI template framework •  Single search function provides total access to

BOSS REST API


Top Related