Top Banner
Saurabh Sahni Developer, hacker, evangelist Build your Own Search Service Yahoo! HackU IIIT Bangalore | 5 th December 2009
52

BOSS: Yahoo HackU IIIT Bangalore

Oct 19, 2014

Download

Technology

This presentation provides an introduction Yahoo! BOSS API
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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