Elasticsearch for retail
You know, for search!
@vinnylinck # Chief Mobile Architect
More than a search system....
... the agenda is about:
how
uses
to build
TLANTIC
elasticsearch
TLANTIC
We do software for
retail
10 years of success
7
ERP
WMS
POS
DW
IN-STORE
LOGISTICS
MANAGEMENTCUSTOMER
SALES
MOBILE RETAIL SUITE™
A PROVEN SOLUTION
http:// aboutTheRetailers .com:9200/
{
ok: true,
status: 200,
name: "RetailersWorld",
facts: {
data_amount: "millions of records",
availability: "high",
search_scenario: “not sure how to find things",
common_approach: “fulltext",
does_fulltext_works: false
},
tagline: “Retail is about people…"
}
... but people are messy...
SELECT *
FROM myawesomesoftware
WHERE ‘text’ LIKE
‘%stuff%’
SELECT *
FROM mysearchtable
WHERE MATCH(text)
AGAINST (‘stuff’)
SELECT *
FROM mysearchtable
WHERE MATCH(text)
AGAINST (‘+stuff –”stuffler”’
IN BOOLEAN MODE)
SELECT * FROM jobs
WHERE role = ‘DEVELOPER’
AND MATCH(job_description)
AGAINST (‘javascript’)
SELECT * FROM jobs J
JOIN jobs_benefits jb ON j.id =
jb.job_id
WHERE j.role = ‘DEVELOPER’
AND (MATCH(job_description)
AGAINST (‘javascript -asp’) IN
BOOLEAN MODE)
AND jb.free_coffee = TRUE
THIS IS NOT A SEARCH
SYSTEM!
You will need one...
There is a “software” for that:
There is a software SOLUTION for that:
elasticsearch is a real search engine
• Efficient indexing of data
• All fields / combination
• Analyzing data:
• Text Search: tokenizing, stemming, filtering
• Understanding locations
• Date parsing
• Relevance scoring
• Not just split(‘ ‘, $text)
• Understand patterns: URLs, e-mail, currencies, hashtags, twitter
@mentions.
• Analyze conjugations and plurals:
• Fishing, Fished, Fish, Fisher > Fish
• Better > Good
• Filters stop words: not every character is meaningful when indexing a
HTML code or web contents.
• Distance searches: geo polygons, bounding box searches, searching
nearby...
• Relevance: think of Google PageRank
• Mappings generated on the fly
Retailers want more!
And we are using ElasticSearch for that.
With elasticsearch...
• We found performance: 1M records on 40s (bulk insert)
• The app users will be able to find a product regarding the nearest store.
• We can scale easily, handling BIG DATA scenarios with safety.
• We found a stable nosql search system and a powerful JSON API.
• Customers can find the information even when they don’t know how to
write that properly... In miliseconds!
• We found the cloud: (bonsai.io)
• It fits like a glove on mobile solutions.
• We found integration with out existing systems...
elasticsearch will be part of our next product
generation...
http:// tlantic .com/thank_you
{
ok: true,
status: 200,
name: “Vinicius Linck",
e_mail:“viniciusl@Tlantic.com”,
e_mail_2: “vinnylinck@gmail.com”,
twitter: “@vinnylinck",
}

Tlantic @ ElasticSearch POA Meetup

  • 1.
  • 2.
    @vinnylinck # ChiefMobile Architect
  • 3.
    More than asearch system....
  • 4.
    ... the agendais about: how uses to build TLANTIC elasticsearch TLANTIC
  • 5.
    We do softwarefor retail
  • 6.
    10 years ofsuccess
  • 7.
  • 8.
    http:// aboutTheRetailers .com:9200/ { ok:true, status: 200, name: "RetailersWorld", facts: { data_amount: "millions of records", availability: "high", search_scenario: “not sure how to find things", common_approach: “fulltext", does_fulltext_works: false }, tagline: “Retail is about people…" }
  • 9.
    ... but peopleare messy...
  • 10.
    SELECT * FROM myawesomesoftware WHERE‘text’ LIKE ‘%stuff%’
  • 13.
    SELECT * FROM mysearchtable WHEREMATCH(text) AGAINST (‘stuff’)
  • 14.
    SELECT * FROM mysearchtable WHEREMATCH(text) AGAINST (‘+stuff –”stuffler”’ IN BOOLEAN MODE)
  • 15.
    SELECT * FROMjobs WHERE role = ‘DEVELOPER’ AND MATCH(job_description) AGAINST (‘javascript’)
  • 16.
    SELECT * FROMjobs J JOIN jobs_benefits jb ON j.id = jb.job_id WHERE j.role = ‘DEVELOPER’ AND (MATCH(job_description) AGAINST (‘javascript -asp’) IN BOOLEAN MODE) AND jb.free_coffee = TRUE
  • 18.
    THIS IS NOTA SEARCH SYSTEM! You will need one...
  • 19.
    There is a“software” for that:
  • 20.
    There is asoftware SOLUTION for that:
  • 21.
    elasticsearch is areal search engine • Efficient indexing of data • All fields / combination • Analyzing data: • Text Search: tokenizing, stemming, filtering • Understanding locations • Date parsing • Relevance scoring
  • 22.
    • Not justsplit(‘ ‘, $text) • Understand patterns: URLs, e-mail, currencies, hashtags, twitter @mentions. • Analyze conjugations and plurals: • Fishing, Fished, Fish, Fisher > Fish • Better > Good • Filters stop words: not every character is meaningful when indexing a HTML code or web contents. • Distance searches: geo polygons, bounding box searches, searching nearby... • Relevance: think of Google PageRank • Mappings generated on the fly
  • 23.
    Retailers want more! Andwe are using ElasticSearch for that.
  • 24.
    With elasticsearch... • Wefound performance: 1M records on 40s (bulk insert) • The app users will be able to find a product regarding the nearest store. • We can scale easily, handling BIG DATA scenarios with safety. • We found a stable nosql search system and a powerful JSON API. • Customers can find the information even when they don’t know how to write that properly... In miliseconds! • We found the cloud: (bonsai.io) • It fits like a glove on mobile solutions. • We found integration with out existing systems...
  • 25.
    elasticsearch will bepart of our next product generation...
  • 26.
    http:// tlantic .com/thank_you { ok:true, status: 200, name: “Vinicius Linck", e_mail:“viniciusl@Tlantic.com”, e_mail_2: “vinnylinck@gmail.com”, twitter: “@vinnylinck", }