SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Search Intelligence @ elo7.com
Fernando Meyer, Felipe Besson
March 9, 2013
Outline
Some data about our data
Some history
Apache Solr
How Lucene Works
Examples
Terms
Inverted index
How a result is scored against a query in Lucene
Lucene conceptual Scoring formula [?]
Search Intelligence
How have we optimized our index
How to declare a solr index
Infrastructure Upgrade
version 2 - single node
version 3 - current infrastructure
Frenzy API
Example of product operation
Content recommendation
Architecture
http://elo7.com 2013 3/29
Search Intelligence
Current Scenario
Future WorkContent Tracker
BigData Analytics
http://elo7.com 2013 4/29
Search Intelligence
About
Fernando Meyer - Undergrad in Applied Mathematics for University of São Paulo.
Holds more than 12 years of experience in R&D deploying cool systems for
companies like RedHat(JBoss), Globo and Locaweb. Currently is focusing his
research and interests in machine learning, information retrieve and statistics.
Felipe Besson - B.S. in Information Systems and Masters in Computer Sci-
ence for the University of São Paulo, Brazil. His research focused on automated
testing of web services composition. Now, he is expanding his horizons by working
with searching, data mining, machine learning and other geek stuff.
http://elo7.com 2013 5/29
Search Intelligence
Some data about our data
• 3000 (avg.) queries per second
• from 3500 to 4200 users on site per minute
• 15000 requests per minute on AppServer
• 160000 (avg.) bot/requests per day
• 160000 (avg.) bot/requests per day
• 1200000 indexed products
• 20000 active sellers
http://elo7.com 2013 6/29
Search Intelligence
Some history
• Search v0.0 - select * from product where text like ’%query%’
• Search v0.1 - Sphinx
– No delta index
– Poor index/query performance for large scale dataset
• Search v1.0 - Apache Solr
http://elo7.com 2013 7/29
Search Intelligence
Apache Solr
Solr is written in Java and runs as a standalone full-text search server within a
servlet container such as Jetty. Solr uses the Lucene Java search library at its
core for full-text indexing and search, and has REST-like HTTP/XML and JSON
APIs that make it easy to use from virtually any programming language.
http://elo7.com 2013 8/29
Search Intelligence
How Lucene Works
Lucene is an inverted full-text index. This means that it takes all the documents,
splits them into words, and then builds an index for each word. Since the index
is an exact string-match, unordered, it can be extremely fast.
http://elo7.com 2013 9/29
Search Intelligence
Examples
Terms
T[0] = "it is what it is"
T[1] = "what is it"
T[2] = "it is a banana"
Inverted index
"a": {(2, 2)}
"banana": {(2, 3)}
"is": {(0, 1), (0, 4), (1, 1), (2, 1)}
"it": {(0, 0), (0, 3), (1, 2), (2, 0)}
"what": {(0, 2), (1, 0)}
http://elo7.com 2013 10/29
Search Intelligence
How a result is scored against a query in Lucene
A.K.A: That answer to the dollar question: Why isn’t this product appearing by
searching "bleh"
Lucene conceptual Scoring formula [?]
score(q,d) = coord-factor(q,d).query-boost(q). A·B
A B .doc-len-norm(d).score(d)
http://elo7.com 2013 11/29
Search Intelligence
How have we optimized our index
<fieldType name="text_pt_br" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="com.elo7.solr.analysis.OrengoStemmerFilterFa
http://elo7.com 2013 12/29
Search Intelligence
exceptionList="stemmerignore.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="0"
catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonym
ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
http://elo7.com 2013 13/29
Search Intelligence
<filter class="com.elo7.solr.analysis.OrengoStemmerFilterFa
exceptionList="stemmerignore.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
http://elo7.com 2013 14/29
Search Intelligence
How to declare a solr index
<field name="id" type="int" indexed="true"
stored="true" required="true" />
<field name="title" type="text_pt_br"
indexed="true" stored="true"/>
<field name="description" type="text_pt_br"
indexed="true" stored="false" />
<field name="tags" type="text_pt_br"
indexed="true" stored="true" multiValued="true"/>
http://elo7.com 2013 15/29
Search Intelligence
Infrastructure Upgrade
version 2 - single node
• Scaling issues
• M1.xlarge => m2.2xlarge => c1.xlarge 90% CPU
• Solr 3.6
• Full index with ruby scripts (takes 3.5hs to full index )
http://elo7.com 2013 16/29
Search Intelligence
version 3 - current infrastructure
• 3 m1.xlarge (20% CPU Usage) behind an amazon ELB
• 1 m1.xlarge Search API (50% of logged users staging )
• Solr Data Importer (takes 15mn to full index)
http://elo7.com 2013 17/29
Search Intelligence
Frenzy API
Solr environment evolution
• Operations: Searching, indexing and deleting
• Resources: Products, stores, auto-complete suggestions and categories
• Recommendations
Advantages
• Removing search and indexing logic from marketplace
• Providing a search service to other applications (e.g., mobile)
http://elo7.com 2013 18/29
Search Intelligence
Example of product operation
Searching
• input (GET): query term
– filters: city, min. price and max. price
– sort: featured, organic, oldest, newest, ...
• output (json)
– metadata (query status, response time and hits)
– list of products
– references (previous and next page urls)
http://elo7.com 2013 19/29
Search Intelligence
Content recommendation
• Collaborative filtering (user similarity)
• Based on user favorited products
Input (GET)
• frenzy/users/:id/recommendations
Output: (similiar to search output)
http://elo7.com 2013 20/29
Search Intelligence
Architecture
http://elo7.com 2013 21/29
Search Intelligence
Current Scenario
• Experimental stage
• Search operations are being integrated
• 50% of logged user searches are using the API
• Recommendation API is being evolved
http://elo7.com 2013 22/29
Search Intelligence
Future WorkContent Tracker
We need to understand, track, analyse and take advantage on our users navigation
patterns.
• Any user receiver an unique ID
• This ID follows any user’s interaction with the website
• Whenever an user interacts with a product: views; add to favorites; social
share; add to cart or buys. we trigger a convertion action.
http://elo7.com 2013 23/29
Search Intelligence
SearchID UserID Term pgN Filters
A376AC e00c59 "abajur" 1 Nil
A376AD e00c59 "abajur" 1 "pr:[10.0,15.0]"
A376AE e00c59 "abajur" 1 "pr:[10.0,15.0] city:curitiba"
Table 1: Search Action logger
http://elo7.com 2013 24/29
Search Intelligence
ViewID SearchID PRDID PPP
000001 A376AE 201209 1
000002 A37FED 204439 5
000003 EDA342 202234 1
000004 EFDBC1 231324 5
000005 EDA563 214512 2
000006 EFA564 264553 13
Table 2: Product View logger
http://elo7.com 2013 25/29
Search Intelligence
ActionID ViewID type
000001 000001 cart
000002 000002 fav
000003 000005 cart
000004 000004 social
000005 000003 ship
000006 000006 contact
Table 3: Product Action logger
http://elo7.com 2013 26/29
Search Intelligence
ActionID convert
000001 true
000002 true
000003 false
000004 false
000005 false
000006 true
Table 4: Action to convert
http://elo7.com 2013 27/29
Search Intelligence
BigData Analytics
• Product conversion per channel
• Consumer behaviour
• Trends
• Better recomendation (including new users)
• Better emailmarketing (attractiveness )
• Per product stats (Clicks/Impressions/CTR)
http://elo7.com 2013 28/29
Questions?
fmeyer@elo7.com
felipe.besson@elo7.com

Mais conteúdo relacionado

Mais procurados

In search of: A meetup about Liferay and Search 2016-04-20
In search of: A meetup about Liferay and Search   2016-04-20In search of: A meetup about Liferay and Search   2016-04-20
In search of: A meetup about Liferay and Search 2016-04-20Tibor Lipusz
 
Search engine and web crawler
Search engine and web crawlerSearch engine and web crawler
Search engine and web crawlervinay arora
 
Extreme APIs for a better tomorrow
Extreme APIs for a better tomorrowExtreme APIs for a better tomorrow
Extreme APIs for a better tomorrowAaron Maturen
 
How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)ICF CIRCUIT
 

Mais procurados (10)

In search of: A meetup about Liferay and Search 2016-04-20
In search of: A meetup about Liferay and Search   2016-04-20In search of: A meetup about Liferay and Search   2016-04-20
In search of: A meetup about Liferay and Search 2016-04-20
 
Apache Solr
Apache SolrApache Solr
Apache Solr
 
Search engine and web crawler
Search engine and web crawlerSearch engine and web crawler
Search engine and web crawler
 
Library hacks
Library hacksLibrary hacks
Library hacks
 
Solr Presentation
Solr PresentationSolr Presentation
Solr Presentation
 
Apache Solr Workshop
Apache Solr WorkshopApache Solr Workshop
Apache Solr Workshop
 
Extreme APIs for a better tomorrow
Extreme APIs for a better tomorrowExtreme APIs for a better tomorrow
Extreme APIs for a better tomorrow
 
How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)How to migrate from any CMS (thru the front-door)
How to migrate from any CMS (thru the front-door)
 
Introduction To Apache Lucene
Introduction To Apache LuceneIntroduction To Apache Lucene
Introduction To Apache Lucene
 
Jena
JenaJena
Jena
 

Destaque

Palestra encontro provedores regionais recife agosto 20 2013 eduardo grizeni...
Palestra encontro provedores regionais recife  agosto 20 2013 eduardo grizeni...Palestra encontro provedores regionais recife  agosto 20 2013 eduardo grizeni...
Palestra encontro provedores regionais recife agosto 20 2013 eduardo grizeni...Eduardo Grizendi
 
Computação aplicada na boo-box
Computação aplicada na boo-boxComputação aplicada na boo-box
Computação aplicada na boo-boxFernando Meyer
 

Destaque (8)

Drools Fisl
Drools FislDrools Fisl
Drools Fisl
 
Antlr Conexaojava
Antlr ConexaojavaAntlr Conexaojava
Antlr Conexaojava
 
Jboss Night
Jboss NightJboss Night
Jboss Night
 
Palestra encontro provedores regionais recife agosto 20 2013 eduardo grizeni...
Palestra encontro provedores regionais recife  agosto 20 2013 eduardo grizeni...Palestra encontro provedores regionais recife  agosto 20 2013 eduardo grizeni...
Palestra encontro provedores regionais recife agosto 20 2013 eduardo grizeni...
 
Nemesis Project
Nemesis Project Nemesis Project
Nemesis Project
 
Computação aplicada na boo-box
Computação aplicada na boo-boxComputação aplicada na boo-box
Computação aplicada na boo-box
 
Qcon bigdata
Qcon bigdataQcon bigdata
Qcon bigdata
 
Big data analytics
Big data analyticsBig data analytics
Big data analytics
 

Semelhante a Search Intelligence @elo7.com

The Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemThe Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemTrey Grainger
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with SolrErik Hatcher
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with SolrErik Hatcher
 
Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdfAbanti Aazmin
 
Advanced full text searching techniques using Lucene
Advanced full text searching techniques using LuceneAdvanced full text searching techniques using Lucene
Advanced full text searching techniques using LuceneAsad Abbas
 
Apache Lucene: Searching the Web and Everything Else (Jazoon07)
Apache Lucene: Searching the Web and Everything Else (Jazoon07)Apache Lucene: Searching the Web and Everything Else (Jazoon07)
Apache Lucene: Searching the Web and Everything Else (Jazoon07)dnaber
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to SolrErik Hatcher
 
Scaling Recommendations, Semantic Search, & Data Analytics with solr
Scaling Recommendations, Semantic Search, & Data Analytics with solrScaling Recommendations, Semantic Search, & Data Analytics with solr
Scaling Recommendations, Semantic Search, & Data Analytics with solrTrey Grainger
 
Introduction to Apache Lucene/Solr
Introduction to Apache Lucene/SolrIntroduction to Apache Lucene/Solr
Introduction to Apache Lucene/SolrRahul Jain
 
Solr and ElasticSearch demo and speaker feb 2014
Solr  and ElasticSearch demo and speaker feb 2014Solr  and ElasticSearch demo and speaker feb 2014
Solr and ElasticSearch demo and speaker feb 2014nkabra
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneRahul Jain
 
Dev8d Apache Solr Tutorial
Dev8d Apache Solr TutorialDev8d Apache Solr Tutorial
Dev8d Apache Solr TutorialSourcesense
 
Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6DEEPAK KHETAWAT
 
Building Intelligent Search Applications with Apache Solr and PHP5
Building Intelligent Search Applications with Apache Solr and PHP5Building Intelligent Search Applications with Apache Solr and PHP5
Building Intelligent Search Applications with Apache Solr and PHP5israelekpo
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes WorkshopErik Hatcher
 
Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdfAyesha Siddika
 
Introduction to Lucidworks Fusion - Alexander Kanarsky, Lucidworks
Introduction to Lucidworks Fusion - Alexander Kanarsky, LucidworksIntroduction to Lucidworks Fusion - Alexander Kanarsky, Lucidworks
Introduction to Lucidworks Fusion - Alexander Kanarsky, LucidworksLucidworks
 

Semelhante a Search Intelligence @elo7.com (20)

The Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data EcosystemThe Apache Solr Smart Data Ecosystem
The Apache Solr Smart Data Ecosystem
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
 
Rapid Prototyping with Solr
Rapid Prototyping with SolrRapid Prototyping with Solr
Rapid Prototyping with Solr
 
Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdf
 
Advanced full text searching techniques using Lucene
Advanced full text searching techniques using LuceneAdvanced full text searching techniques using Lucene
Advanced full text searching techniques using Lucene
 
Apache Lucene Searching The Web
Apache Lucene Searching The WebApache Lucene Searching The Web
Apache Lucene Searching The Web
 
Apache Lucene: Searching the Web and Everything Else (Jazoon07)
Apache Lucene: Searching the Web and Everything Else (Jazoon07)Apache Lucene: Searching the Web and Everything Else (Jazoon07)
Apache Lucene: Searching the Web and Everything Else (Jazoon07)
 
Introduction to Solr
Introduction to SolrIntroduction to Solr
Introduction to Solr
 
Scaling Recommendations, Semantic Search, & Data Analytics with solr
Scaling Recommendations, Semantic Search, & Data Analytics with solrScaling Recommendations, Semantic Search, & Data Analytics with solr
Scaling Recommendations, Semantic Search, & Data Analytics with solr
 
Solr 101
Solr 101Solr 101
Solr 101
 
Introduction to Apache Lucene/Solr
Introduction to Apache Lucene/SolrIntroduction to Apache Lucene/Solr
Introduction to Apache Lucene/Solr
 
Solr and ElasticSearch demo and speaker feb 2014
Solr  and ElasticSearch demo and speaker feb 2014Solr  and ElasticSearch demo and speaker feb 2014
Solr and ElasticSearch demo and speaker feb 2014
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 
Dev8d Apache Solr Tutorial
Dev8d Apache Solr TutorialDev8d Apache Solr Tutorial
Dev8d Apache Solr Tutorial
 
Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6Basics of Solr and Solr Integration with AEM6
Basics of Solr and Solr Integration with AEM6
 
Building Intelligent Search Applications with Apache Solr and PHP5
Building Intelligent Search Applications with Apache Solr and PHP5Building Intelligent Search Applications with Apache Solr and PHP5
Building Intelligent Search Applications with Apache Solr and PHP5
 
Solr Recipes Workshop
Solr Recipes WorkshopSolr Recipes Workshop
Solr Recipes Workshop
 
Apache lucene
Apache luceneApache lucene
Apache lucene
 
Apace Solr Web Development.pdf
Apace Solr Web Development.pdfApace Solr Web Development.pdf
Apace Solr Web Development.pdf
 
Introduction to Lucidworks Fusion - Alexander Kanarsky, Lucidworks
Introduction to Lucidworks Fusion - Alexander Kanarsky, LucidworksIntroduction to Lucidworks Fusion - Alexander Kanarsky, Lucidworks
Introduction to Lucidworks Fusion - Alexander Kanarsky, Lucidworks
 

Último

定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 

Último (20)

定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 

Search Intelligence @elo7.com

  • 1. Search Intelligence @ elo7.com Fernando Meyer, Felipe Besson March 9, 2013
  • 2. Outline Some data about our data Some history Apache Solr How Lucene Works Examples Terms Inverted index How a result is scored against a query in Lucene Lucene conceptual Scoring formula [?]
  • 3. Search Intelligence How have we optimized our index How to declare a solr index Infrastructure Upgrade version 2 - single node version 3 - current infrastructure Frenzy API Example of product operation Content recommendation Architecture http://elo7.com 2013 3/29
  • 4. Search Intelligence Current Scenario Future WorkContent Tracker BigData Analytics http://elo7.com 2013 4/29
  • 5. Search Intelligence About Fernando Meyer - Undergrad in Applied Mathematics for University of São Paulo. Holds more than 12 years of experience in R&D deploying cool systems for companies like RedHat(JBoss), Globo and Locaweb. Currently is focusing his research and interests in machine learning, information retrieve and statistics. Felipe Besson - B.S. in Information Systems and Masters in Computer Sci- ence for the University of São Paulo, Brazil. His research focused on automated testing of web services composition. Now, he is expanding his horizons by working with searching, data mining, machine learning and other geek stuff. http://elo7.com 2013 5/29
  • 6. Search Intelligence Some data about our data • 3000 (avg.) queries per second • from 3500 to 4200 users on site per minute • 15000 requests per minute on AppServer • 160000 (avg.) bot/requests per day • 160000 (avg.) bot/requests per day • 1200000 indexed products • 20000 active sellers http://elo7.com 2013 6/29
  • 7. Search Intelligence Some history • Search v0.0 - select * from product where text like ’%query%’ • Search v0.1 - Sphinx – No delta index – Poor index/query performance for large scale dataset • Search v1.0 - Apache Solr http://elo7.com 2013 7/29
  • 8. Search Intelligence Apache Solr Solr is written in Java and runs as a standalone full-text search server within a servlet container such as Jetty. Solr uses the Lucene Java search library at its core for full-text indexing and search, and has REST-like HTTP/XML and JSON APIs that make it easy to use from virtually any programming language. http://elo7.com 2013 8/29
  • 9. Search Intelligence How Lucene Works Lucene is an inverted full-text index. This means that it takes all the documents, splits them into words, and then builds an index for each word. Since the index is an exact string-match, unordered, it can be extremely fast. http://elo7.com 2013 9/29
  • 10. Search Intelligence Examples Terms T[0] = "it is what it is" T[1] = "what is it" T[2] = "it is a banana" Inverted index "a": {(2, 2)} "banana": {(2, 3)} "is": {(0, 1), (0, 4), (1, 1), (2, 1)} "it": {(0, 0), (0, 3), (1, 2), (2, 0)} "what": {(0, 2), (1, 0)} http://elo7.com 2013 10/29
  • 11. Search Intelligence How a result is scored against a query in Lucene A.K.A: That answer to the dollar question: Why isn’t this product appearing by searching "bleh" Lucene conceptual Scoring formula [?] score(q,d) = coord-factor(q,d).query-boost(q). A·B A B .doc-len-norm(d).score(d) http://elo7.com 2013 11/29
  • 12. Search Intelligence How have we optimized our index <fieldType name="text_pt_br" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory"/> <filter class="com.elo7.solr.analysis.OrengoStemmerFilterFa http://elo7.com 2013 12/29
  • 13. Search Intelligence exceptionList="stemmerignore.txt"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.SynonymFilterFactory" synonyms="synonym ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory"/> http://elo7.com 2013 13/29
  • 14. Search Intelligence <filter class="com.elo7.solr.analysis.OrengoStemmerFilterFa exceptionList="stemmerignore.txt"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> </fieldType> http://elo7.com 2013 14/29
  • 15. Search Intelligence How to declare a solr index <field name="id" type="int" indexed="true" stored="true" required="true" /> <field name="title" type="text_pt_br" indexed="true" stored="true"/> <field name="description" type="text_pt_br" indexed="true" stored="false" /> <field name="tags" type="text_pt_br" indexed="true" stored="true" multiValued="true"/> http://elo7.com 2013 15/29
  • 16. Search Intelligence Infrastructure Upgrade version 2 - single node • Scaling issues • M1.xlarge => m2.2xlarge => c1.xlarge 90% CPU • Solr 3.6 • Full index with ruby scripts (takes 3.5hs to full index ) http://elo7.com 2013 16/29
  • 17. Search Intelligence version 3 - current infrastructure • 3 m1.xlarge (20% CPU Usage) behind an amazon ELB • 1 m1.xlarge Search API (50% of logged users staging ) • Solr Data Importer (takes 15mn to full index) http://elo7.com 2013 17/29
  • 18. Search Intelligence Frenzy API Solr environment evolution • Operations: Searching, indexing and deleting • Resources: Products, stores, auto-complete suggestions and categories • Recommendations Advantages • Removing search and indexing logic from marketplace • Providing a search service to other applications (e.g., mobile) http://elo7.com 2013 18/29
  • 19. Search Intelligence Example of product operation Searching • input (GET): query term – filters: city, min. price and max. price – sort: featured, organic, oldest, newest, ... • output (json) – metadata (query status, response time and hits) – list of products – references (previous and next page urls) http://elo7.com 2013 19/29
  • 20. Search Intelligence Content recommendation • Collaborative filtering (user similarity) • Based on user favorited products Input (GET) • frenzy/users/:id/recommendations Output: (similiar to search output) http://elo7.com 2013 20/29
  • 22. Search Intelligence Current Scenario • Experimental stage • Search operations are being integrated • 50% of logged user searches are using the API • Recommendation API is being evolved http://elo7.com 2013 22/29
  • 23. Search Intelligence Future WorkContent Tracker We need to understand, track, analyse and take advantage on our users navigation patterns. • Any user receiver an unique ID • This ID follows any user’s interaction with the website • Whenever an user interacts with a product: views; add to favorites; social share; add to cart or buys. we trigger a convertion action. http://elo7.com 2013 23/29
  • 24. Search Intelligence SearchID UserID Term pgN Filters A376AC e00c59 "abajur" 1 Nil A376AD e00c59 "abajur" 1 "pr:[10.0,15.0]" A376AE e00c59 "abajur" 1 "pr:[10.0,15.0] city:curitiba" Table 1: Search Action logger http://elo7.com 2013 24/29
  • 25. Search Intelligence ViewID SearchID PRDID PPP 000001 A376AE 201209 1 000002 A37FED 204439 5 000003 EDA342 202234 1 000004 EFDBC1 231324 5 000005 EDA563 214512 2 000006 EFA564 264553 13 Table 2: Product View logger http://elo7.com 2013 25/29
  • 26. Search Intelligence ActionID ViewID type 000001 000001 cart 000002 000002 fav 000003 000005 cart 000004 000004 social 000005 000003 ship 000006 000006 contact Table 3: Product Action logger http://elo7.com 2013 26/29
  • 27. Search Intelligence ActionID convert 000001 true 000002 true 000003 false 000004 false 000005 false 000006 true Table 4: Action to convert http://elo7.com 2013 27/29
  • 28. Search Intelligence BigData Analytics • Product conversion per channel • Consumer behaviour • Trends • Better recomendation (including new users) • Better emailmarketing (attractiveness ) • Per product stats (Clicks/Impressions/CTR) http://elo7.com 2013 28/29