Upload
lucenerevolution
View
719
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presented by Ricardo Merizalde, Software Development Manager, Backcountry.com The intent of this presentation is to describe an implementation of an open source framework for e-commerce sites. The presentation will focus on Oracle ATG but can be extended to other platforms. First, a brief introduction on what CommerceSearch is (an open source integration and framework for eCommerce sites). Review challenges we had with FAST Impulse. Review the main search artifacts merchandisers can manage through CommerceSearch. Review how CommerceSearch integrates with ATG to deploy changes in near real time. Review CommerceSearch integration test framework and automated test framework (Selenium). Finally, summarize the benefits we got by moving from FAST to Solr.
Citation preview
Moving from FAST to Solr on ATG Ricardo Merizalde Software Development Manager Backcountry.com
Who We Are
§ Online retailer of high-‐end outdoor gear § Founded in 1996 by former Olympic skier § 7 Ecommerce sites § Internet Retailer Top 100
“We use the gear we sell”
More Background
§ Legacy Perl/Postgres ecommerce plaEorm § Using FAST Impulse/ESP since 2008 § Implemented Oracle/ATG Commerce in 2012 § 1.5MM daily search engine hits during Q4 2012
Why change search engines?
§ Product End of Life § Index latency § Hardware footprint § License limitaUons § Support effort is high § Not a good fit for conUnuous delivery
Goals
§ Low index latency § High availability § Easy to scale § ConUnuous delivery § Improve user experience § Improve merchandising tools
OpenCommerceSearch
What’s OpenCommerceSearch?
§ Oracle ATG/Solr IntegraUon § Search Module: Business Tools § Framework to ease development
Integration Overview
Each environment has its own collections
Search Module § Manage search assets
• Facets • Redirects • Synonym Lists & Synonyms • Boosts & Blocks • Ranking Rules
§ Rule engine uses Solr • Has its own index (very small) • Extra search call to get rules (fast &
cacheable)
Search Module
Search Module
Search Module
§ Rule’s context • Target Page: Search, Category or All Pages • Query: shirts, [the north face] • MulU-‐site aware • Catalog aware • Category aware
§ Rule’s life Ume • Start & End Date
Search Module
§ Rule’s custom properUes
Search Module
§ Ranking rules • Boost/demote chunks of products instead of
individual products • Less manual boosUng • Ideal state is lidle/no manual boosUng. Use
mulUple data points to automate ranking (clicks, revenue, etc.)
• Uses boost funcUons
Search Module
Search Module
Search Module
Search Module
§ Rule based categories • PromoUon landing pages • Keyword landing pages • Price range, discount off, gender, hand pick
products, etc.
Search Module
Search Module § Asset MigraUon
• Redirects: imported as exact matches • Synonyms: manual cleanup • Boosts & Blocks: not imported • Facets: not imported
§ Query Synonyms • FAST is a black box • Analysis Tool • Synonym-‐Expanding EDisMax Parser wriden
by Nolan Lawson
Who We Are
Index Latency
Index Latency § Feed limited to XML feed/exlt tool § Slow process with mulUple points of
failure 1. Generate XML files 2. scp XML files to FAST servers 3. exlt cronjob loads feed into SQL schema 4. JDBC Connector checking for changes 5. Document Processing Pipeline 6. Index documents
Index Latency § Index documents using API calls § Different SLAs for change types (price,
inventory, content, taxonomy) § Auto soj & hard commits § Products & Skus are not versioned
Index Latency
Who We Are
ConUnuous Delivery
Continuous Delivery § Hard to do integraUon tesUng § Automated tests were flaky
• Data dependencies • No applicaUons states
§ Leverage EmbeddedSolrServer • RAM index • Custom JUnit Test Runner for IntegraUon
tests • Solr XML for data • TestNG & Selenium for Automated tests
Continuous Delivery § IntegraUon Test
• Shared core with bootstrapped data • Clone core & index test data • Test code & server run within same process
Continuous Delivery § Automated Test
• Cores live within applicaUon server • Test data sent over HTTP
Continuous Delivery § Deployments
Continuous Delivery § Rundeck jobs
User Experience
User Experience § Search results not consistent with
product detail page § De-‐normalize data & index skus § Group by product id
User Experience
User Experience
User Experience § Orange jacket not available in XXL
User Experience
User Experience § Orange jacket available in XXL
User Experience § Grouping is awesome but is CPU
intensive § Monitor query response Umes § Pay adenUon to parUal match search (use
mm parameter) § Use the facets you really need
User Experience
QuesUons
CONTACT Ricardo Merizalde [email protected] https://github.com/rmerizalde/opencommercesearch http://ricardomerizalde.blogspot.com/