SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Managed Search 
Jacob Graves, 
Principal Engineer at Getty Images 
jacob.graves@gettyimages.com
Introduction 
Getty Images is the global leader in visual communications with over 170 million 
assets available through its premium content site www.gettyimages.com and its 
leading stock content site www.istock.com. With its advanced search and image 
recognition technology, Getty Images serves business customers in more than 100 
countries and is the first place creative and media professionals turn to discover, 
purchase and manage images and other digital content. Its award-winning 
photographers and content creators help customers produce inspiring work which 
appears every day in the world’s most influential newspapers, magazines, advertising 
campaigns, films, television programs, books and online media.
Getty Search 
Obviously, in order to buy images you have to be able to find them. 
Search Process: 
• Receive search containing words. 
• Tokenize and map the words onto our controlled vocabulary keywords 
• Find all the images associated with the correct keywords. 
• Score all the images and then sort them by the score. 
The scoring determines which images the users see.
Managed Search 
The details of how the scoring takes place is a technical concern, but the end result is 
a business concern. 
Goal – make business users self sufficient. 
So the problem is to create a framework for business users that will: 
• Hide technical complexity. 
• Allows Control over scoring components and result ordering. 
• Allows Balancing of these scoring components against each other. 
• Provides Feedback. 
• Allows Visualization of the results of their changes. 
We call this Managed Search.
Managed Search – Our Implementation 
1. We created a SOLR search ecosystem containing all our images, keywords and 
associated metadata, and added plugins using Java. 
2. We used a C# middle tier to wrap around our SOLR ecosystem. 
3. We built a web application called SAW – Search Administration Workbench, using 
the Java Play framework and lots of javascript.
Managed Search Architecture Diagram 
SOLR 
Custom 
functions 
(valuesources) 
Price 
Tier 
Shuffle 
(RankQuery) 
Index 
settings 
with 
debug 
scores 
SOLR 
select 
url Save 
Search 
Middle 
Tier 
SAW 
Site 
Business 
User 
Customer 
Algorithm 
DB 
Search 
and 
algorithm 
Search 
results 
Load 
algorithm 
settings 
search 
Search 
results 
algorithm 
settings 
Search 
results 
(for 
site 
searches)
SAW 
SAW has 5 main areas: 
• Algorithm – control sort scoring. 
• Preview – see search results. 
• Single Page Charts – single search score component charts. 
• Scale report charts – all searches score component charts. 
• Live tests – expose test algorithms to live users to gather and view KPI data.
Scoring Breakdown 
To help the business control the scoring we break it down into 3 different scoring 
components: 
• Relevancy – image attributes that are relative to the search (i.e. keywords). 
• Recency 
• Image Source – image attributes that are not related to the specific search. 
Then we provide 2 types of parameter the user can control: 
• Internal parameters - to control how the component is calculated. 
• External boosts - to control how the components are weighted against each other
SAW Scoring Boosts Screenshot
Scoring Architecture 
• In order to allow immediate feedback we have to implement scoring using query 
time boosting. 
• Use boost functions as they are cleaner. 
• Favor Query time over Index time, to prioritize control over small performance 
gains. 
• Define minimum performance metrics and ensure that we stay within them. 
Initially we had concentrated on performance above all else and had ended up with 
inflexible scoring in return for fairly minor performance gains. 
We used the Valuesource plugin to create our own boost functions.
Relevancy 
• The most important component, how confident are we that this image is correct? 
• We measure relevancy at the image/keyword level by tracking user interactions. 
• After experimenting we settled on a form of the standard tf-idf VSM (Vector Space 
Model) and expose a normalization parameter. 
• We also expose a boost so they can control the strength of relevancy relative to 
other factors
Recency 
• Recency is the age of the images. 
• Newer images get a higher score to prevent staleness. 
• Aging curve – the way an images recency score changes with age. 
• We expose 3 different aging curves (reciprocal, linear and reversed reciprocal) and 
appropriate parameters to control the shape of the curve. 
• We also expose a boost so they can control the strength of recency relative to 
other factors
SAW Recency Screenshot
Image Source 
• We have a variety of image level attribute data that should affect the sort order, 
mostly to do with how likely we think the image is to be of high quality. 
• We separate our images into groups based on these attributes, called the source. 
• We expose a boost that allows the users to increase the score of images with a 
given source. 
• Unlike relevancy, this is an image level, not image/keyword level property, so it 
doesn’t vary from one search to the next. 
• Because it isn’t context specific it is dangerous to make this boost too large.
Custom Shuffle 
As well as influencing the scoring, the business wants to have control over the order 
the images where displayed in, so that instead of just appearing in score order certain 
slots on the page can be allocated to particular classes of image. This is to ensure 
that we always show a diverse range of images. 
To accommodate this we need to be able to apply a custom shuffle, similar to a sort 
but with more control. To accomplish this we take advantage of a new SOLR plugin 
(new in 4.9) called the RankQuery plugin.
Image Tier Shuffle 
We classify our images into separate groups or image tiers based on various image 
level attributes, e.g. 
• Licensing Structure 
• Image partner 
• Exclusivity 
• Etc. 
We distill these factors into a single image property that we assigned at index time. 
We generate a mapping of result slots to image tiers, e.g. 
• slot 1 => image tier 2 
• slot 2 => image tier 4 
• etc. 
We pass in the mapping at query time and used the RankQuery implementation to shuffle 
the query results.
Preview page 
• Search and get results scored using algorithm settings. 
• Display in pages of 100 images. 
• Show image score breakdown by component. 
• Show image tier. 
To calculate the score for each component we run the SOLR query in debug mode, 
and parse the results with regex expressions to get the score for each component. 
This is the least stable piece of the whole application, as debug syntax can change 
quite frequently between SOLR releases. However, it’s also pretty easy to fix.
Preview Screenshot
Single Page Charts 
This allows the users to verify what they think they are seeing visually with numbers. 
• Aggregate the component scoring data across all the 100 images on a page. 
• Create interactive charts from the data. 
• Charts that display the distribution of each score component. 
• Chart that displays the comparative score from each component. 
• Chart that shows the custom shuffle distribution. 
We use the javascript D3.js library to generate the graphs.
Single Page Charts Screenshot
Scale Reports 
This allows the users to validate their settings across the full spectrum of searches 
that users execute at Getty. 
• Execute 1000 different searches (throttled). 
• Use the first 100 images from each search by default, number can be increased up 
to 10000 (slower). 
• Aggregate the component scoring data across all the results. 
• Create and display charts similar to the ones used in the single page charts view. 
To generate the list of 1000 searches we use proportional sampling, from search log 
data.
Scale Reports Screenshot
Live tests 
Once the users are happy with an algorithm the next stage is to test it for real. 
To do this we have a page that controls: 
• The algorithm settings for the various live and test sorts. 
• Saving these settings to a database where they are used to generate production 
SOLR queries. 
• The percentage of users for a given live sort that will be allocated to a test sort.
KPI monitoring 
We also have a page that displays the user interaction data. 
• Displays actions against our KPI’s (Key Performance Indicators). 
• Primarily we use click-through (i.e. user clicks on an image in the search results). 
• Broken out by time and by sort so we can compare the test algorithms against the 
live ones. 
• We get this data in a feed from our existing analytics framework.
Conclusion 
Self sufficient business user, path to changing sort order: 
1. Change algorithm settings. 
2. Execute searches and evaluate sort order visually. 
3. Use single page charts to confirm visual impressions. 
4. Use scale report to confirm behavior across proportional set of searches. 
5. Set a test algorithm to have the settings you want. 
6. Set a percentage of users to experience the test. 
7. Monitor KPI’s over time to see if settings work as intended. 
8. Set the live algorithm to have the settings you want.
ValueSource Plugins 
This is a well-established SOLR plugin for adding custom query functions. 
http://wiki.apache.org/solr/SolrPlugins#ValueSourceParser 
There are 3 parts: 
• Implement ValueSource. This is where the actual logic is implemented. It can take in 
either simple datatypes (like Strings or floats) or other ValueSource objects (e.g. an asset 
field value or another query function). 
• Implement ValueSourceParser. This creates the ValueSource object with appropriate 
inputs. 
• Solrconfig.xml. Add a line to enable the new ValueSource plugin. 
You can look at any of the existing Query function implementations to see how they should 
work. 
e.g. – for the “Map” query function see: 
• org.apache.solr.search.ValueSourceParser 
• org.apache.lucene.queries.function.valuesource.RangeMapFloatFunction 
You can also change the debug output so that we can see the results of each custom 
function in debug mode, this allows us to display the individual score components to the 
users.
RankQuery Implementation 
This is a new plugin in SOLR 4.9, created by Joel Bernstein. 
https://issues.apache.org/jira/browse/SOLR-5973 
There is a test in the SOLR 4.9 tests that shows a good example implementation: 
org.apache.solr.search.TestRankQueryPlugin 
Very briefly, you have to implement: 
• QParserPlugin, it creates and returns the QParser implementation. 
• QParser, it creates and returns the RankQuery implementation. 
• RankQuery, it creates and returns the TopDocsCollector and MergeStrategy implementations. 
• TopDocsCollector, this returns the top documents from each shard that you wish to include in your final 
results. In our case we separate the documents into separate priority queues by image tier, and order by 
score within each image tier. Then we go through a pre-determined list of which image tier should occupy 
each slot, and pull the next item from the appropriate image tier priority queue to generate the top 
documents List. 
• MergeStrategy, this combines the top documents generated by the TopDocsCollectors on each shard. In 
our case we followed the same logic as we had for each individual shard, assigning documents to priority 
queues by image tier in score order, and then assigning queues to pre-determined slots. 
Lastly you reference the new QParserPlugin in your solrconfig.xml. 
The pre-determined list of image tier slots could either be a user configurable parameter that is passed in or it 
could just included in the solrconfig.xml, or even hard coded.
Q & A 
Please contact me if you have any questions or thoughts. 
I will be attending till the end of the conference. 
Email – jacob.graves@gettyimages.com

Weitere ähnliche Inhalte

Was ist angesagt?

Webinar: Search and Recommenders
Webinar: Search and RecommendersWebinar: Search and Recommenders
Webinar: Search and RecommendersLucidworks
 
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Lucidworks
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphLucidworks
 
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...Lucidworks
 
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkWebinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkLucidworks
 
Relevance in the Wild - Daniel Gomez Vilanueva, Findwise
Relevance in the Wild - Daniel Gomez Vilanueva, FindwiseRelevance in the Wild - Daniel Gomez Vilanueva, Findwise
Relevance in the Wild - Daniel Gomez Vilanueva, FindwiseLucidworks
 
Measuring Search Engine Quality using Spark and Python
Measuring Search Engine Quality using Spark and PythonMeasuring Search Engine Quality using Spark and Python
Measuring Search Engine Quality using Spark and PythonSujit Pal
 
Building a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKBuilding a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKLucidworks (Archived)
 
Webinar: Replace Google Search Appliance with Lucidworks Fusion
Webinar: Replace Google Search Appliance with Lucidworks FusionWebinar: Replace Google Search Appliance with Lucidworks Fusion
Webinar: Replace Google Search Appliance with Lucidworks FusionLucidworks
 
Webinar: Fusion for Business Intelligence
Webinar: Fusion for Business IntelligenceWebinar: Fusion for Business Intelligence
Webinar: Fusion for Business IntelligenceLucidworks
 
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrLet's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrSease
 
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...sparktc
 
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...Lucidworks
 
E commerce Search using Apache Solr
E commerce Search using Apache SolrE commerce Search using Apache Solr
E commerce Search using Apache SolrRohan Makkar
 
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...lucenerevolution
 
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...Lucidworks
 
Building a real time big data analytics platform with solr
Building a real time big data analytics platform with solrBuilding a real time big data analytics platform with solr
Building a real time big data analytics platform with solrTrey Grainger
 
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...Lucidworks
 
Real-Time Analytics with Solr: Presented by Yonik Seeley, Cloudera
Real-Time Analytics with Solr: Presented by Yonik Seeley, ClouderaReal-Time Analytics with Solr: Presented by Yonik Seeley, Cloudera
Real-Time Analytics with Solr: Presented by Yonik Seeley, ClouderaLucidworks
 
Informational Referential Integrity Constraints Support in Apache Spark with ...
Informational Referential Integrity Constraints Support in Apache Spark with ...Informational Referential Integrity Constraints Support in Apache Spark with ...
Informational Referential Integrity Constraints Support in Apache Spark with ...Databricks
 

Was ist angesagt? (20)

Webinar: Search and Recommenders
Webinar: Search and RecommendersWebinar: Search and Recommenders
Webinar: Search and Recommenders
 
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
Learning to Rank in Solr: Presented by Michael Nilsson & Diego Ceccarelli, Bl...
 
Webinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and GraphWebinar: Solr 6 Deep Dive - SQL and Graph
Webinar: Solr 6 Deep Dive - SQL and Graph
 
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
Learning to Rank: From Theory to Production - Malvina Josephidou & Diego Cecc...
 
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & SparkWebinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
 
Relevance in the Wild - Daniel Gomez Vilanueva, Findwise
Relevance in the Wild - Daniel Gomez Vilanueva, FindwiseRelevance in the Wild - Daniel Gomez Vilanueva, Findwise
Relevance in the Wild - Daniel Gomez Vilanueva, Findwise
 
Measuring Search Engine Quality using Spark and Python
Measuring Search Engine Quality using Spark and PythonMeasuring Search Engine Quality using Spark and Python
Measuring Search Engine Quality using Spark and Python
 
Building a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLKBuilding a data driven search application with LucidWorks SiLK
Building a data driven search application with LucidWorks SiLK
 
Webinar: Replace Google Search Appliance with Lucidworks Fusion
Webinar: Replace Google Search Appliance with Lucidworks FusionWebinar: Replace Google Search Appliance with Lucidworks Fusion
Webinar: Replace Google Search Appliance with Lucidworks Fusion
 
Webinar: Fusion for Business Intelligence
Webinar: Fusion for Business IntelligenceWebinar: Fusion for Business Intelligence
Webinar: Fusion for Business Intelligence
 
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/SolrLet's Build an Inverted Index: Introduction to Apache Lucene/Solr
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
 
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...
Creating an end-to-end Recommender System with Apache Spark and Elasticsearch...
 
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...
Our Tale from the Trail of Shadows at REI Co-op - Chris Phillips & Dale Smith...
 
E commerce Search using Apache Solr
E commerce Search using Apache SolrE commerce Search using Apache Solr
E commerce Search using Apache Solr
 
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
Boosting Documents in Solr by Recency, Popularity and Personal Preferences - ...
 
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...
Searching and Querying Knowledge Graphs with Solr/SIREn - A Reference Archite...
 
Building a real time big data analytics platform with solr
Building a real time big data analytics platform with solrBuilding a real time big data analytics platform with solr
Building a real time big data analytics platform with solr
 
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...
Efficient Scalable Search in a Multi-Tenant Environment: Presented by Harry H...
 
Real-Time Analytics with Solr: Presented by Yonik Seeley, Cloudera
Real-Time Analytics with Solr: Presented by Yonik Seeley, ClouderaReal-Time Analytics with Solr: Presented by Yonik Seeley, Cloudera
Real-Time Analytics with Solr: Presented by Yonik Seeley, Cloudera
 
Informational Referential Integrity Constraints Support in Apache Spark with ...
Informational Referential Integrity Constraints Support in Apache Spark with ...Informational Referential Integrity Constraints Support in Apache Spark with ...
Informational Referential Integrity Constraints Support in Apache Spark with ...
 

Ähnlich wie Managed Search: Presented by Jacob Graves, Getty Images

Yaron Inger - Enlight - Inside the app of the year
 Yaron Inger - Enlight - Inside the app of the year  Yaron Inger - Enlight - Inside the app of the year
Yaron Inger - Enlight - Inside the app of the year tlv-ios-dev
 
Movie recommendation Engine using Artificial Intelligence
Movie recommendation Engine using Artificial IntelligenceMovie recommendation Engine using Artificial Intelligence
Movie recommendation Engine using Artificial IntelligenceHarivamshi D
 
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...Benjamin Bengfort
 
The AI-powered employee Appraisal system based on a credit system is a softwa...
The AI-powered employee Appraisal system based on a credit system is a softwa...The AI-powered employee Appraisal system based on a credit system is a softwa...
The AI-powered employee Appraisal system based on a credit system is a softwa...Chan563583
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Feature Based Opinion Mining from Amazon Reviews
Feature Based Opinion Mining from Amazon ReviewsFeature Based Opinion Mining from Amazon Reviews
Feature Based Opinion Mining from Amazon ReviewsRavi Kiran Holur Vijay
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP TestingRTTS
 
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusRated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusSease
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessIvo Andreev
 
Software estimation challenge diederik wortman - metri
Software estimation challenge   diederik wortman - metriSoftware estimation challenge   diederik wortman - metri
Software estimation challenge diederik wortman - metriNesma
 
IRJET - Online Product Scoring based on Sentiment based Review Analysis
IRJET - Online Product Scoring based on Sentiment based Review AnalysisIRJET - Online Product Scoring based on Sentiment based Review Analysis
IRJET - Online Product Scoring based on Sentiment based Review AnalysisIRJET Journal
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
IRJET- Hybrid Recommendation System for Movies
IRJET-  	  Hybrid Recommendation System for MoviesIRJET-  	  Hybrid Recommendation System for Movies
IRJET- Hybrid Recommendation System for MoviesIRJET Journal
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software FasterDynatrace
 
Did you mean 'Galene'?
Did you mean 'Galene'?Did you mean 'Galene'?
Did you mean 'Galene'?Azeem Mohammad
 
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...AgileNetwork
 

Ähnlich wie Managed Search: Presented by Jacob Graves, Getty Images (20)

Yaron Inger - Enlight - Inside the app of the year
 Yaron Inger - Enlight - Inside the app of the year  Yaron Inger - Enlight - Inside the app of the year
Yaron Inger - Enlight - Inside the app of the year
 
Movie recommendation Engine using Artificial Intelligence
Movie recommendation Engine using Artificial IntelligenceMovie recommendation Engine using Artificial Intelligence
Movie recommendation Engine using Artificial Intelligence
 
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...
Visualizing Model Selection with Scikit-Yellowbrick: An Introduction to Devel...
 
The AI-powered employee Appraisal system based on a credit system is a softwa...
The AI-powered employee Appraisal system based on a credit system is a softwa...The AI-powered employee Appraisal system based on a credit system is a softwa...
The AI-powered employee Appraisal system based on a credit system is a softwa...
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Feature Based Opinion Mining from Amazon Reviews
Feature Based Opinion Mining from Amazon ReviewsFeature Based Opinion Mining from Amazon Reviews
Feature Based Opinion Mining from Amazon Reviews
 
How to Automate your Enterprise Application / ERP Testing
How to Automate your  Enterprise Application / ERP TestingHow to Automate your  Enterprise Application / ERP Testing
How to Automate your Enterprise Application / ERP Testing
 
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusRated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
 
Test automation
Test automationTest automation
Test automation
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for Business
 
Software estimation challenge diederik wortman - metri
Software estimation challenge   diederik wortman - metriSoftware estimation challenge   diederik wortman - metri
Software estimation challenge diederik wortman - metri
 
IRJET - Online Product Scoring based on Sentiment based Review Analysis
IRJET - Online Product Scoring based on Sentiment based Review AnalysisIRJET - Online Product Scoring based on Sentiment based Review Analysis
IRJET - Online Product Scoring based on Sentiment based Review Analysis
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
IRJET- Hybrid Recommendation System for Movies
IRJET-  	  Hybrid Recommendation System for MoviesIRJET-  	  Hybrid Recommendation System for Movies
IRJET- Hybrid Recommendation System for Movies
 
ppt.pptx
ppt.pptxppt.pptx
ppt.pptx
 
Promostat original
Promostat originalPromostat original
Promostat original
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster5 Key Metrics to Release Better Software Faster
5 Key Metrics to Release Better Software Faster
 
Did you mean 'Galene'?
Did you mean 'Galene'?Did you mean 'Galene'?
Did you mean 'Galene'?
 
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
ANIn Chennai March 2024 |Oxygenating AI ecosystem with Agility by Gowtham Bal...
 

Mehr von Lucidworks

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategyLucidworks
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceLucidworks
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsLucidworks
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesLucidworks
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Lucidworks
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...Lucidworks
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Lucidworks
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Lucidworks
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteLucidworks
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentLucidworks
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeLucidworks
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Lucidworks
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchLucidworks
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Lucidworks
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyLucidworks
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Lucidworks
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceLucidworks
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchLucidworks
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondLucidworks
 

Mehr von Lucidworks (20)

Search is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce StrategySearch is the Tip of the Spear for Your B2B eCommerce Strategy
Search is the Tip of the Spear for Your B2B eCommerce Strategy
 
Drive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in SalesforceDrive Agent Effectiveness in Salesforce
Drive Agent Effectiveness in Salesforce
 
How Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant ProductsHow Crate & Barrel Connects Shoppers with Relevant Products
How Crate & Barrel Connects Shoppers with Relevant Products
 
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product DiscoveryLucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
Lucidworks & IMRG Webinar – Best-In-Class Retail Product Discovery
 
Connected Experiences Are Personalized Experiences
Connected Experiences Are Personalized ExperiencesConnected Experiences Are Personalized Experiences
Connected Experiences Are Personalized Experiences
 
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
Intelligent Insight Driven Policing with MC+A, Toronto Police Service and Luc...
 
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
[Webinar] Intelligent Policing. Leveraging Data to more effectively Serve Com...
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020
 
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
Accelerate The Path To Purchase With Product Discovery at Retail Innovation C...
 
AI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and RosetteAI-Powered Linguistics and Search with Fusion and Rosette
AI-Powered Linguistics and Search with Fusion and Rosette
 
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual MomentThe Service Industry After COVID-19: The Soul of Service in a Virtual Moment
The Service Industry After COVID-19: The Soul of Service in a Virtual Moment
 
Webinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - EuropeWebinar: Smart answers for employee and customer support after covid 19 - Europe
Webinar: Smart answers for employee and customer support after covid 19 - Europe
 
Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19Smart Answers for Employee and Customer Support After COVID-19
Smart Answers for Employee and Customer Support After COVID-19
 
Applying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 ResearchApplying AI & Search in Europe - featuring 451 Research
Applying AI & Search in Europe - featuring 451 Research
 
Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1Webinar: Accelerate Data Science with Fusion 5.1
Webinar: Accelerate Data Science with Fusion 5.1
 
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce StrategyWebinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
Webinar: 5 Must-Have Items You Need for Your 2020 Ecommerce Strategy
 
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
Where Search Meets Science and Style Meets Savings: Nordstrom Rack's Journey ...
 
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision IntelligenceApply Knowledge Graphs and Search for Real-World Decision Intelligence
Apply Knowledge Graphs and Search for Real-World Decision Intelligence
 
Webinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise SearchWebinar: Building a Business Case for Enterprise Search
Webinar: Building a Business Case for Enterprise Search
 
Why Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and BeyondWhy Insight Engines Matter in 2020 and Beyond
Why Insight Engines Matter in 2020 and Beyond
 

Kürzlich hochgeladen

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Kürzlich hochgeladen (20)

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Managed Search: Presented by Jacob Graves, Getty Images

  • 1.
  • 2. Managed Search Jacob Graves, Principal Engineer at Getty Images jacob.graves@gettyimages.com
  • 3. Introduction Getty Images is the global leader in visual communications with over 170 million assets available through its premium content site www.gettyimages.com and its leading stock content site www.istock.com. With its advanced search and image recognition technology, Getty Images serves business customers in more than 100 countries and is the first place creative and media professionals turn to discover, purchase and manage images and other digital content. Its award-winning photographers and content creators help customers produce inspiring work which appears every day in the world’s most influential newspapers, magazines, advertising campaigns, films, television programs, books and online media.
  • 4. Getty Search Obviously, in order to buy images you have to be able to find them. Search Process: • Receive search containing words. • Tokenize and map the words onto our controlled vocabulary keywords • Find all the images associated with the correct keywords. • Score all the images and then sort them by the score. The scoring determines which images the users see.
  • 5. Managed Search The details of how the scoring takes place is a technical concern, but the end result is a business concern. Goal – make business users self sufficient. So the problem is to create a framework for business users that will: • Hide technical complexity. • Allows Control over scoring components and result ordering. • Allows Balancing of these scoring components against each other. • Provides Feedback. • Allows Visualization of the results of their changes. We call this Managed Search.
  • 6. Managed Search – Our Implementation 1. We created a SOLR search ecosystem containing all our images, keywords and associated metadata, and added plugins using Java. 2. We used a C# middle tier to wrap around our SOLR ecosystem. 3. We built a web application called SAW – Search Administration Workbench, using the Java Play framework and lots of javascript.
  • 7. Managed Search Architecture Diagram SOLR Custom functions (valuesources) Price Tier Shuffle (RankQuery) Index settings with debug scores SOLR select url Save Search Middle Tier SAW Site Business User Customer Algorithm DB Search and algorithm Search results Load algorithm settings search Search results algorithm settings Search results (for site searches)
  • 8. SAW SAW has 5 main areas: • Algorithm – control sort scoring. • Preview – see search results. • Single Page Charts – single search score component charts. • Scale report charts – all searches score component charts. • Live tests – expose test algorithms to live users to gather and view KPI data.
  • 9. Scoring Breakdown To help the business control the scoring we break it down into 3 different scoring components: • Relevancy – image attributes that are relative to the search (i.e. keywords). • Recency • Image Source – image attributes that are not related to the specific search. Then we provide 2 types of parameter the user can control: • Internal parameters - to control how the component is calculated. • External boosts - to control how the components are weighted against each other
  • 10. SAW Scoring Boosts Screenshot
  • 11. Scoring Architecture • In order to allow immediate feedback we have to implement scoring using query time boosting. • Use boost functions as they are cleaner. • Favor Query time over Index time, to prioritize control over small performance gains. • Define minimum performance metrics and ensure that we stay within them. Initially we had concentrated on performance above all else and had ended up with inflexible scoring in return for fairly minor performance gains. We used the Valuesource plugin to create our own boost functions.
  • 12. Relevancy • The most important component, how confident are we that this image is correct? • We measure relevancy at the image/keyword level by tracking user interactions. • After experimenting we settled on a form of the standard tf-idf VSM (Vector Space Model) and expose a normalization parameter. • We also expose a boost so they can control the strength of relevancy relative to other factors
  • 13. Recency • Recency is the age of the images. • Newer images get a higher score to prevent staleness. • Aging curve – the way an images recency score changes with age. • We expose 3 different aging curves (reciprocal, linear and reversed reciprocal) and appropriate parameters to control the shape of the curve. • We also expose a boost so they can control the strength of recency relative to other factors
  • 15. Image Source • We have a variety of image level attribute data that should affect the sort order, mostly to do with how likely we think the image is to be of high quality. • We separate our images into groups based on these attributes, called the source. • We expose a boost that allows the users to increase the score of images with a given source. • Unlike relevancy, this is an image level, not image/keyword level property, so it doesn’t vary from one search to the next. • Because it isn’t context specific it is dangerous to make this boost too large.
  • 16. Custom Shuffle As well as influencing the scoring, the business wants to have control over the order the images where displayed in, so that instead of just appearing in score order certain slots on the page can be allocated to particular classes of image. This is to ensure that we always show a diverse range of images. To accommodate this we need to be able to apply a custom shuffle, similar to a sort but with more control. To accomplish this we take advantage of a new SOLR plugin (new in 4.9) called the RankQuery plugin.
  • 17. Image Tier Shuffle We classify our images into separate groups or image tiers based on various image level attributes, e.g. • Licensing Structure • Image partner • Exclusivity • Etc. We distill these factors into a single image property that we assigned at index time. We generate a mapping of result slots to image tiers, e.g. • slot 1 => image tier 2 • slot 2 => image tier 4 • etc. We pass in the mapping at query time and used the RankQuery implementation to shuffle the query results.
  • 18. Preview page • Search and get results scored using algorithm settings. • Display in pages of 100 images. • Show image score breakdown by component. • Show image tier. To calculate the score for each component we run the SOLR query in debug mode, and parse the results with regex expressions to get the score for each component. This is the least stable piece of the whole application, as debug syntax can change quite frequently between SOLR releases. However, it’s also pretty easy to fix.
  • 20. Single Page Charts This allows the users to verify what they think they are seeing visually with numbers. • Aggregate the component scoring data across all the 100 images on a page. • Create interactive charts from the data. • Charts that display the distribution of each score component. • Chart that displays the comparative score from each component. • Chart that shows the custom shuffle distribution. We use the javascript D3.js library to generate the graphs.
  • 21. Single Page Charts Screenshot
  • 22. Scale Reports This allows the users to validate their settings across the full spectrum of searches that users execute at Getty. • Execute 1000 different searches (throttled). • Use the first 100 images from each search by default, number can be increased up to 10000 (slower). • Aggregate the component scoring data across all the results. • Create and display charts similar to the ones used in the single page charts view. To generate the list of 1000 searches we use proportional sampling, from search log data.
  • 24. Live tests Once the users are happy with an algorithm the next stage is to test it for real. To do this we have a page that controls: • The algorithm settings for the various live and test sorts. • Saving these settings to a database where they are used to generate production SOLR queries. • The percentage of users for a given live sort that will be allocated to a test sort.
  • 25. KPI monitoring We also have a page that displays the user interaction data. • Displays actions against our KPI’s (Key Performance Indicators). • Primarily we use click-through (i.e. user clicks on an image in the search results). • Broken out by time and by sort so we can compare the test algorithms against the live ones. • We get this data in a feed from our existing analytics framework.
  • 26. Conclusion Self sufficient business user, path to changing sort order: 1. Change algorithm settings. 2. Execute searches and evaluate sort order visually. 3. Use single page charts to confirm visual impressions. 4. Use scale report to confirm behavior across proportional set of searches. 5. Set a test algorithm to have the settings you want. 6. Set a percentage of users to experience the test. 7. Monitor KPI’s over time to see if settings work as intended. 8. Set the live algorithm to have the settings you want.
  • 27. ValueSource Plugins This is a well-established SOLR plugin for adding custom query functions. http://wiki.apache.org/solr/SolrPlugins#ValueSourceParser There are 3 parts: • Implement ValueSource. This is where the actual logic is implemented. It can take in either simple datatypes (like Strings or floats) or other ValueSource objects (e.g. an asset field value or another query function). • Implement ValueSourceParser. This creates the ValueSource object with appropriate inputs. • Solrconfig.xml. Add a line to enable the new ValueSource plugin. You can look at any of the existing Query function implementations to see how they should work. e.g. – for the “Map” query function see: • org.apache.solr.search.ValueSourceParser • org.apache.lucene.queries.function.valuesource.RangeMapFloatFunction You can also change the debug output so that we can see the results of each custom function in debug mode, this allows us to display the individual score components to the users.
  • 28. RankQuery Implementation This is a new plugin in SOLR 4.9, created by Joel Bernstein. https://issues.apache.org/jira/browse/SOLR-5973 There is a test in the SOLR 4.9 tests that shows a good example implementation: org.apache.solr.search.TestRankQueryPlugin Very briefly, you have to implement: • QParserPlugin, it creates and returns the QParser implementation. • QParser, it creates and returns the RankQuery implementation. • RankQuery, it creates and returns the TopDocsCollector and MergeStrategy implementations. • TopDocsCollector, this returns the top documents from each shard that you wish to include in your final results. In our case we separate the documents into separate priority queues by image tier, and order by score within each image tier. Then we go through a pre-determined list of which image tier should occupy each slot, and pull the next item from the appropriate image tier priority queue to generate the top documents List. • MergeStrategy, this combines the top documents generated by the TopDocsCollectors on each shard. In our case we followed the same logic as we had for each individual shard, assigning documents to priority queues by image tier in score order, and then assigning queues to pre-determined slots. Lastly you reference the new QParserPlugin in your solrconfig.xml. The pre-determined list of image tier slots could either be a user configurable parameter that is passed in or it could just included in the solrconfig.xml, or even hard coded.
  • 29. Q & A Please contact me if you have any questions or thoughts. I will be attending till the end of the conference. Email – jacob.graves@gettyimages.com