SIMPLE SEARCH WITH
  ELASTIC SEARCH
      MARK STORY
       @MARK_STORY
WAT?
Java based
Lucene powered
JSON driven
Document orientated database
All out super search solution
Easy to setup, and use
INDEXES AND TYPES
            INDEXES
   Similar concept to databases.
   Contain multiple types.
TYPES
Similar concept to tables.
Defines datatypes and indexing rules.
DOCUMENT BASED REST API
     Simple to use and easy to understand.
CREATE A DOCUMENT
cr -PS lclot90/otcspol - '
 ul XOT oahs:20cnat/epe d {
  "ae:"akSoy,
   nm" Mr tr"
  "mi" "akmr-tr.o"
   eal: mr@aksoycm,
  "wte" "mr_tr"
   titr: @aksoy,
  "onr" "aaa,
   cuty: Cnd"
  "as:[ckpp,"aeet,"aaa]
   tg" "aeh" ckfs" cnd"
}'

#Rsos:
  epne
{o"tu,
 "k:re
"idx:cnat"
 _ne""otcs,
"tp""epe,
 _ye:pol"
"i""iMaiBDAWs5g,
 _d:9zCSQq1J8i7"
"vrin:}
 _eso"1
READ IT BACK
cr -GTlclot90/otcspol/i?rtytu
 ul XE oahs:20cnat/epe$dpet=re

#Rsos:
   epne
{_ne""otcs,
 "idx:cnat"
"tp""epe,
 _ye:pol"
"i""iMaiBDAWs5g,
 _d:9zCSQq1J8i7"
"vrin:,
 _eso"1
"xss:re
 eit"tu,
"suc":{
 _ore
  "ae:"akSoy,
   nm" Mr tr"
  "mi" "akmr-tr.o"
   eal: mr@aksoycm,
  "wte" "mr_tr"
   titr: @aksoy,
  "onr" "aaa,
   cuty: Cnd"
  "as:[ckpp,"aeet,"aaa]
   tg" "aeh" ckfs" cnd"
}}
DELETE IT!
cr -DLT lclot90/otcspol/i
 ul XEEE oahs:20cnat/epe$d

#Rsos:
  epne
{o"tu,
 "k:re
"on"tu,
 fud:re
"idx:cnat"
 _ne""otcs,
"tp""epe,
 _ye:pol"
"i""iMaiBDAWs5g,
 _d:9zCSQq1J8i7"
"vrin:}
 _eso"2
SIMPLE SEARCH!
               More on search to come




cr -GTlclot90/otcspol/sac?=akpet=re
 ul XE oahs:20cnat/epe_erhqMr&rtytu
#Rsos:
   epne
{to"1,
 "ok:4
"ie_u"fle
 tmdot:as,
"sad"{
 _hrs:
  "oa"5
   ttl:,
  "ucsfl:,
   scesu"5
  "ald:
   fie"0
},
"is:
 ht"{
  "oa"1
   ttl:,
  "a_cr"01746,
   mxsoe:.1424
  "is:
   ht"[
    {_ne""otcs,
    "idx:cnat"
     "tp""epe,
      _ye:pol"
     "i""llMTWqMZUlw,
      _d:sJyBSaAfU-D"
     "soe:.1424
      _cr"01746,
     "suc":{
      _ore
       "ae:"akSoy,
        nm" Mr tr"
       "mi" "akmr-tr.o"
        eal: mr@aksoycm,
       "wte" "mr_tr"
        titr: @aksoy,
       "onr" "aaa,
        cuty: Cnd"
       "as:[ckpp,"aeet,"aaa]
        tg" "aeh" ckfs" cnd"
     }
    }
  ]
}}
THIS ALL SOUNDS TOO
 BADASS TO BE TRUE
DOCUMENT "DATABASE" IS A
      BIT LIMITED
     Partial updates are doable but painful
     No joins
     No map reduce
     Cannot replace all other datasources
BUT SEARCH IS AMAZZZING
SEARCH BETWEEN TYPES &
       INDEXES
                Search multiple types
cr -GTlclot90/otcspol,opne/sac?=aeMr
 ul XE oahs:20cnat/epecmais_erhqnm:ak


        Search multiple indexes in your cluster
cr -GTlclot90/alpol/sac?=aeMr
 ul XE oahs:20_l/epe_erhqnm:ak
FANCY SEARCH OPTIONS
SEARCH WITH TEXT
       EXPRESSIONS
cr -GTlclot90/otcspol/sac?rtytu - '
 ul XE oahs:20cnat/epe_erhpet=re d {
  "ur" {
   qey:
    "ur_tig:{
     qeysrn"
      "ur" "akO wlo"
       qey: mr R edn
    }
  }
}'
HIGHLIGHT SEARCH
             KEYWORDS
Wrap search terms in highlighting text/markup/html. Great for larger
            documents, as you can extract fragments.
cr -GTlclot90/otcspol/sac?rtytu - '
 ul XE oahs:20cnat/epe_erhpet=re d {
   "ur" {
    qey:
      "et:{
       tx"
         "mi" "ak
          eal: mr"
      }
   },
   "ihih" {
    hglgt:
      "ils:{
       fed"
         "mi" {,
          eal: }
         "ae:{
          nm" }
      }
   }
}'
FACETS
Facets provide aggregated data about a query. You can use this data
          to create drill down search, or histogram data.
         Term counts.
         Custom script values.
         Ranges - like price ranges.
         Geo distance facets - aggregate results by distance.
cr -GTlclot90/otcspol/sac?rtytu - '
 ul XE oahs:20cnat/epe_erhpet=re d {
   "ur" {
    qey:
      "ur_tig:{
       qeysrn"
         "ur" ".o"
          qey: *cm
      }
   },
   "aes:{
    fct"
      "agd:{trs:{fed:"as}}
       tge" "em"   "il" tg"
   }
}'
KNOBS & BUTTONS
MAPPINGS
Allows fine-grained searching later on, and lets you configure
custom mappings.
Control the data types, and indexing used for JSON document
types.
Disable indexing on specific fields.
Configure custom analyzers. For example, non-english stemming.
AVAILABLE MAPPING TYPES
string, integer, float, boolean, null
object - Standard type for nested objects. Allows
Arrays are automatically handled as the above.
properties to be defined.
multi_field - Allows a field to be handled multiple ways with different
aliases.
nested - Indexes sub objects, and works with nested filter/queries.
ip - For ipv4 data.
geo_point - For lat/lon values. Enables piles of search options.
attachment - Store a blob. Can index many text based documents
like PDF.
CREATE A MAPPING
cr -PTlclot90/otcspol/mpig- '
 ul XU    oahs:20cnat/epe_apn d {
  "epe:{
   pol"
    "rpris:{
     poete"
      "ae:{tp" "tig}
       nm" "ye: srn",
      "mi" {tp" "tig}
       eal: "ye: srn",
      "wte" {tp" "tig}
       titr: "ye: srn",
      "onr" {tp" "tig}
       cuty: "ye: srn",
      "as:{tp" "tig}
       tg" "ye: srn"
    }
  }
}'
DEFINE THE ANALYZER USED
When defining a field you can use a a y e i d x a a y e ,
                                    nlzr ne_nlzr
and s a c _ n l z r customize the way data is stored, and or
     e r h a a y e to
searched.
You can also disable analyzing for specific fields.
DISABLE INDEXING
{
    "ae:{
     nm"
      "ye:"tig,
       tp" srn"
      "ne" "o_nlzd,
       idx: ntaaye"
    },
    "oe:{
     nn"
      "ye:"nee"
       tp" itgr,
      "ne" "o
       idx: n"
    }
}
SHARDS & REPLICAS
                              SHARDS
    Define how many nodes you want to split your data across.
       If a node goes down, you still have some of your data.
        You can use routing to control how data is sharded.
More shards improves indexing performance, as work is distributed.
SIMPLE SHARDING
SHARD OVER MULTIPLE NODES
REPLICAS
          Define how many copies of your data you want.
    If several nodes go down, you might still have all your data.
More replicas improves search performance and cluster availability.
REPLICAS
MULTI-TENANCY
Multi-tenancy is a reasonably common requirement, and there are a
                         few ways to do it.
ONE INDEX PER 'TENANT'
Great for small number of tenants.
Painful for larger number of tenants. As sharding and replicas can
be harder to manage.
cr -GTlclot90/akcnat/sac?rtytu - '
 ul XE oahs:20mr/otcs_erhpet=re d {
  "ur" {
   qey:
    "ur_tig:{
     qeysrn"
      "ur" "ednO js"
       qey: wlo R oe
    }
  }
}'
SPECIAL FILTER CONDITIONS
More error prone as you have to include a filter condition.
Easy to shard and setup replicas.
Easily scales to many tenants. As shards/replicas are shared.
Make sure tenant id is a non-analyzed value.
cr -GTlclot90/conigivie/sac?rtytu - '
 ul XE oahs:20acutn/nocs_erhpet=re d {
  "ur" {
   qey:
    "itrd:{
     flee"
      "itr:{
       fle"
        "em:{acutd:1
         tr" "coni"   }
      },
      "ur" {
       qey:
        "ur_tig:{
         qeysrn"
          "ur" "upewf"
           qey: prl ii
        }
      }
    }
  }
}'
OTHER BATTERIES INCLUDED
        Routing Define how documents are sharded.
  Rivers Pipe data in realtime from sources like RabbitMQ.
             Thrift Talk thirft to ElasticSearch.
INTEGRATION WITH
    CAKEPHP
HTTPSOCKET + JSON_ENCODE()
      Basic, can be hard to use.
      No magic.
ELASTICSEARCH DATASOURCE
          (David Kullman)
 Behavior to auto index on aftersave
 Datasource for searching elasticsearch
 Console app to index models
ELASTICSEARCH PLUGIN
        (Kevin von Zonneveld)
Similar features to the previous plugin
Offers more control on how data is indexed
QUESTIONS?
Simple search with elastic search

More Related Content

PDF
Elasticsearch in 15 minutes
PDF
Introduction to Elasticsearch
PPTX
Elastic search Walkthrough
PDF
ElasticSearch - index server used as a document database
PDF
elasticsearch - advanced features in practice
PPTX
Solr vs. Elasticsearch - Case by Case
PPTX
quick intro to elastic search
PDF
Dcm#8 elastic search
Elasticsearch in 15 minutes
Introduction to Elasticsearch
Elastic search Walkthrough
ElasticSearch - index server used as a document database
elasticsearch - advanced features in practice
Solr vs. Elasticsearch - Case by Case
quick intro to elastic search
Dcm#8 elastic search

What's hot (20)

PPTX
Elastic Search
PPTX
An Introduction to Elastic Search.
PDF
Introduction to Elasticsearch
PDF
Elasticsearch for Data Analytics
ODP
Elasticsearch presentation 1
PPTX
ElasticSearch AJUG 2013
PDF
Elasticsearch: You know, for search! and more!
PDF
Managing Your Content with Elasticsearch
PDF
Introduction to Elasticsearch
PDF
Elasticsearch Introduction at BigData meetup
PPTX
ElasticSearch - DevNexus Atlanta - 2014
PDF
Elastic Search
PPTX
Philly PHP: April '17 Elastic Search Introduction by Aditya Bhamidpati
PDF
ElasticSearch in action
PPTX
Elasticsearch - DevNexus 2015
ODP
Cool bonsai cool - an introduction to ElasticSearch
PPT
Elastic search apache_solr
PPSX
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
PDF
Elasticsearch first-steps
PDF
Using elasticsearch with rails
Elastic Search
An Introduction to Elastic Search.
Introduction to Elasticsearch
Elasticsearch for Data Analytics
Elasticsearch presentation 1
ElasticSearch AJUG 2013
Elasticsearch: You know, for search! and more!
Managing Your Content with Elasticsearch
Introduction to Elasticsearch
Elasticsearch Introduction at BigData meetup
ElasticSearch - DevNexus Atlanta - 2014
Elastic Search
Philly PHP: April '17 Elastic Search Introduction by Aditya Bhamidpati
ElasticSearch in action
Elasticsearch - DevNexus 2015
Cool bonsai cool - an introduction to ElasticSearch
Elastic search apache_solr
What I learnt: Elastic search & Kibana : introduction, installtion & configur...
Elasticsearch first-steps
Using elasticsearch with rails
Ad

Similar to Simple search with elastic search (20)

PDF
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam...
PPTX
ElasticSearch for .NET Developers
PDF
Elasticsearch
PDF
Making Mongo realtime - oplog tailing in Meteor
PDF
Building modern web apps with html5, javascript, and java
PDF
D3.js workshop
PPTX
Peggy elasticsearch應用
PPTX
Building and Deploying Application to Apache Mesos
PDF
Real-time search in Drupal with Elasticsearch @Moldcamp
PPT
How ElasticSearch lives in my DevOps life
PDF
아파트 정보를 이용한 ELK stack 활용 - 오근문
PPSX
JSON in 18c and 19c
PDF
Elasticsearch, a distributed search engine with real-time analytics
PDF
Workshop: Learning Elasticsearch
PDF
Null Bachaav - May 07 Attack Monitoring workshop.
PDF
A Century Of Weather Data - Midwest.io
PDF
Elasticsearch intro output
KEY
Elasticsearch & "PeopleSearch"
PPTX
Attack monitoring using ElasticSearch Logstash and Kibana
PDF
Introduction to elasticsearch
Making your elastic cluster perform - Jettro Coenradie - Codemotion Amsterdam...
ElasticSearch for .NET Developers
Elasticsearch
Making Mongo realtime - oplog tailing in Meteor
Building modern web apps with html5, javascript, and java
D3.js workshop
Peggy elasticsearch應用
Building and Deploying Application to Apache Mesos
Real-time search in Drupal with Elasticsearch @Moldcamp
How ElasticSearch lives in my DevOps life
아파트 정보를 이용한 ELK stack 활용 - 오근문
JSON in 18c and 19c
Elasticsearch, a distributed search engine with real-time analytics
Workshop: Learning Elasticsearch
Null Bachaav - May 07 Attack Monitoring workshop.
A Century Of Weather Data - Midwest.io
Elasticsearch intro output
Elasticsearch & "PeopleSearch"
Attack monitoring using ElasticSearch Logstash and Kibana
Introduction to elasticsearch
Ad

More from markstory (20)

PDF
Dependency injection in CakePHP
PDF
Safer, More Helpful CakePHP
PDF
CakePHP - The Road Ahead
PDF
Future of HTTP in CakePHP
PDF
CakePHP mistakes made 2015
PDF
New in cakephp3
PDF
PHP WTF
PDF
CakePHP 3.0 and beyond
PDF
CakePHP mistakes made confoo 2015
PDF
CakePHP mistakes made
PDF
Performance and optimization CakeFest 2014
PDF
Road to CakePHP 3.0
PDF
Performance and optimization
PDF
OWASP Top 10 2013
PDF
CakePHP the yum & yuck
PDF
Introduction to Twig
PDF
Owasp top 10
PDF
Making the most of 2.2
PDF
Intro to continuous integration
PDF
Evented applications with RabbitMQ and CakePHP
Dependency injection in CakePHP
Safer, More Helpful CakePHP
CakePHP - The Road Ahead
Future of HTTP in CakePHP
CakePHP mistakes made 2015
New in cakephp3
PHP WTF
CakePHP 3.0 and beyond
CakePHP mistakes made confoo 2015
CakePHP mistakes made
Performance and optimization CakeFest 2014
Road to CakePHP 3.0
Performance and optimization
OWASP Top 10 2013
CakePHP the yum & yuck
Introduction to Twig
Owasp top 10
Making the most of 2.2
Intro to continuous integration
Evented applications with RabbitMQ and CakePHP

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
The AI Revolution in Customer Service - 2025
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
substrate PowerPoint Presentation basic one
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PDF
SaaS reusability assessment using machine learning techniques
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
NewMind AI Weekly Chronicles – August ’25 Week IV
Ensemble model-based arrhythmia classification with local interpretable model...
Basics of Cloud Computing - Cloud Ecosystem
The AI Revolution in Customer Service - 2025
Co-training pseudo-labeling for text classification with support vector machi...
SGT Report The Beast Plan and Cyberphysical Systems of Control
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Build Real-Time ML Apps with Python, Feast & NoSQL
substrate PowerPoint Presentation basic one
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
SaaS reusability assessment using machine learning techniques
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
Module 1 Introduction to Web Programming .pptx
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Connector Corner: Transform Unstructured Documents with Agentic Automation
Lung cancer patients survival prediction using outlier detection and optimize...
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf

Simple search with elastic search

  • 1. SIMPLE SEARCH WITH ELASTIC SEARCH MARK STORY @MARK_STORY
  • 2. WAT? Java based Lucene powered JSON driven Document orientated database All out super search solution Easy to setup, and use
  • 3. INDEXES AND TYPES INDEXES Similar concept to databases. Contain multiple types.
  • 4. TYPES Similar concept to tables. Defines datatypes and indexing rules.
  • 5. DOCUMENT BASED REST API Simple to use and easy to understand.
  • 6. CREATE A DOCUMENT cr -PS lclot90/otcspol - ' ul XOT oahs:20cnat/epe d { "ae:"akSoy, nm" Mr tr" "mi" "akmr-tr.o" eal: mr@aksoycm, "wte" "mr_tr" titr: @aksoy, "onr" "aaa, cuty: Cnd" "as:[ckpp,"aeet,"aaa] tg" "aeh" ckfs" cnd" }' #Rsos: epne {o"tu, "k:re "idx:cnat" _ne""otcs, "tp""epe, _ye:pol" "i""iMaiBDAWs5g, _d:9zCSQq1J8i7" "vrin:} _eso"1
  • 7. READ IT BACK cr -GTlclot90/otcspol/i?rtytu ul XE oahs:20cnat/epe$dpet=re #Rsos: epne {_ne""otcs, "idx:cnat" "tp""epe, _ye:pol" "i""iMaiBDAWs5g, _d:9zCSQq1J8i7" "vrin:, _eso"1 "xss:re eit"tu, "suc":{ _ore "ae:"akSoy, nm" Mr tr" "mi" "akmr-tr.o" eal: mr@aksoycm, "wte" "mr_tr" titr: @aksoy, "onr" "aaa, cuty: Cnd" "as:[ckpp,"aeet,"aaa] tg" "aeh" ckfs" cnd" }}
  • 8. DELETE IT! cr -DLT lclot90/otcspol/i ul XEEE oahs:20cnat/epe$d #Rsos: epne {o"tu, "k:re "on"tu, fud:re "idx:cnat" _ne""otcs, "tp""epe, _ye:pol" "i""iMaiBDAWs5g, _d:9zCSQq1J8i7" "vrin:} _eso"2
  • 9. SIMPLE SEARCH! More on search to come cr -GTlclot90/otcspol/sac?=akpet=re ul XE oahs:20cnat/epe_erhqMr&rtytu
  • 10. #Rsos: epne {to"1, "ok:4 "ie_u"fle tmdot:as, "sad"{ _hrs: "oa"5 ttl:, "ucsfl:, scesu"5 "ald: fie"0 }, "is: ht"{ "oa"1 ttl:, "a_cr"01746, mxsoe:.1424 "is: ht"[ {_ne""otcs, "idx:cnat" "tp""epe, _ye:pol" "i""llMTWqMZUlw, _d:sJyBSaAfU-D" "soe:.1424 _cr"01746, "suc":{ _ore "ae:"akSoy, nm" Mr tr" "mi" "akmr-tr.o" eal: mr@aksoycm, "wte" "mr_tr" titr: @aksoy, "onr" "aaa, cuty: Cnd" "as:[ckpp,"aeet,"aaa] tg" "aeh" ckfs" cnd" } } ] }}
  • 11. THIS ALL SOUNDS TOO BADASS TO BE TRUE
  • 12. DOCUMENT "DATABASE" IS A BIT LIMITED Partial updates are doable but painful No joins No map reduce Cannot replace all other datasources
  • 13. BUT SEARCH IS AMAZZZING
  • 14. SEARCH BETWEEN TYPES & INDEXES Search multiple types cr -GTlclot90/otcspol,opne/sac?=aeMr ul XE oahs:20cnat/epecmais_erhqnm:ak Search multiple indexes in your cluster cr -GTlclot90/alpol/sac?=aeMr ul XE oahs:20_l/epe_erhqnm:ak
  • 16. SEARCH WITH TEXT EXPRESSIONS cr -GTlclot90/otcspol/sac?rtytu - ' ul XE oahs:20cnat/epe_erhpet=re d { "ur" { qey: "ur_tig:{ qeysrn" "ur" "akO wlo" qey: mr R edn } } }'
  • 17. HIGHLIGHT SEARCH KEYWORDS Wrap search terms in highlighting text/markup/html. Great for larger documents, as you can extract fragments.
  • 18. cr -GTlclot90/otcspol/sac?rtytu - ' ul XE oahs:20cnat/epe_erhpet=re d { "ur" { qey: "et:{ tx" "mi" "ak eal: mr" } }, "ihih" { hglgt: "ils:{ fed" "mi" {, eal: } "ae:{ nm" } } } }'
  • 19. FACETS Facets provide aggregated data about a query. You can use this data to create drill down search, or histogram data. Term counts. Custom script values. Ranges - like price ranges. Geo distance facets - aggregate results by distance.
  • 20. cr -GTlclot90/otcspol/sac?rtytu - ' ul XE oahs:20cnat/epe_erhpet=re d { "ur" { qey: "ur_tig:{ qeysrn" "ur" ".o" qey: *cm } }, "aes:{ fct" "agd:{trs:{fed:"as}} tge" "em" "il" tg" } }'
  • 22. MAPPINGS Allows fine-grained searching later on, and lets you configure custom mappings. Control the data types, and indexing used for JSON document types. Disable indexing on specific fields. Configure custom analyzers. For example, non-english stemming.
  • 23. AVAILABLE MAPPING TYPES string, integer, float, boolean, null object - Standard type for nested objects. Allows Arrays are automatically handled as the above. properties to be defined.
  • 24. multi_field - Allows a field to be handled multiple ways with different aliases. nested - Indexes sub objects, and works with nested filter/queries. ip - For ipv4 data. geo_point - For lat/lon values. Enables piles of search options. attachment - Store a blob. Can index many text based documents like PDF.
  • 25. CREATE A MAPPING cr -PTlclot90/otcspol/mpig- ' ul XU oahs:20cnat/epe_apn d { "epe:{ pol" "rpris:{ poete" "ae:{tp" "tig} nm" "ye: srn", "mi" {tp" "tig} eal: "ye: srn", "wte" {tp" "tig} titr: "ye: srn", "onr" {tp" "tig} cuty: "ye: srn", "as:{tp" "tig} tg" "ye: srn" } } }'
  • 26. DEFINE THE ANALYZER USED When defining a field you can use a a y e i d x a a y e , nlzr ne_nlzr and s a c _ n l z r customize the way data is stored, and or e r h a a y e to searched. You can also disable analyzing for specific fields.
  • 27. DISABLE INDEXING { "ae:{ nm" "ye:"tig, tp" srn" "ne" "o_nlzd, idx: ntaaye" }, "oe:{ nn" "ye:"nee" tp" itgr, "ne" "o idx: n" } }
  • 28. SHARDS & REPLICAS SHARDS Define how many nodes you want to split your data across. If a node goes down, you still have some of your data. You can use routing to control how data is sharded. More shards improves indexing performance, as work is distributed.
  • 31. REPLICAS Define how many copies of your data you want. If several nodes go down, you might still have all your data. More replicas improves search performance and cluster availability.
  • 33. MULTI-TENANCY Multi-tenancy is a reasonably common requirement, and there are a few ways to do it.
  • 34. ONE INDEX PER 'TENANT' Great for small number of tenants. Painful for larger number of tenants. As sharding and replicas can be harder to manage.
  • 35. cr -GTlclot90/akcnat/sac?rtytu - ' ul XE oahs:20mr/otcs_erhpet=re d { "ur" { qey: "ur_tig:{ qeysrn" "ur" "ednO js" qey: wlo R oe } } }'
  • 36. SPECIAL FILTER CONDITIONS More error prone as you have to include a filter condition. Easy to shard and setup replicas. Easily scales to many tenants. As shards/replicas are shared. Make sure tenant id is a non-analyzed value.
  • 37. cr -GTlclot90/conigivie/sac?rtytu - ' ul XE oahs:20acutn/nocs_erhpet=re d { "ur" { qey: "itrd:{ flee" "itr:{ fle" "em:{acutd:1 tr" "coni" } }, "ur" { qey: "ur_tig:{ qeysrn" "ur" "upewf" qey: prl ii } } } } }'
  • 38. OTHER BATTERIES INCLUDED Routing Define how documents are sharded. Rivers Pipe data in realtime from sources like RabbitMQ. Thrift Talk thirft to ElasticSearch.
  • 39. INTEGRATION WITH CAKEPHP
  • 40. HTTPSOCKET + JSON_ENCODE() Basic, can be hard to use. No magic.
  • 41. ELASTICSEARCH DATASOURCE (David Kullman) Behavior to auto index on aftersave Datasource for searching elasticsearch Console app to index models
  • 42. ELASTICSEARCH PLUGIN (Kevin von Zonneveld) Similar features to the previous plugin Offers more control on how data is indexed