Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taming Your Data with Elasticsearch - PHP Benelux

January 25, 2019

Taming Your Data with Elasticsearch - PHP Benelux

Are you searching unstructured data or text fields? Do you need to aggregate and summarize your geo, financial, or other numeric data? Do you want to query your structured data in new and exciting ways? If so, Elasticsearch may be right for you. Let’s explore the many ways you can ask questions about your data and have it make sense to you and your users. We’ll sort through millions of rows in milliseconds and give you tools to take your data analysis to the next level. You will learn how to use PHP libraries and basic RESTful API calls to store, search, and aggregate your data.


January 25, 2019

More Decks by derek-b

Other Decks in Technology


  1. @DerekB_WI [email protected] What is it? open-source, RESTful, distributed search and

    analytics engine built on Apache Lucene Elasticsearch Tool for querying and exploring data Kibana Beats and Logstash Tool for ingesting data from specific sources
  2. @DerekB_WI [email protected] How is it stored? A grouping of JSON

    documents with similar structure. Index Defines what is contained in a document Mapping A JSON document stores each data element. Document
  3. @DerekB_WI [email protected] Define empty index Setup document structure https:/ /www.elastic.co/guide/en/

    elasticsearch/reference/current/indices- put-mapping.html Put Mapping
  4. @DerekB_WI [email protected] Only for first 10,000 hits Skip Results Organized

    into shards Each shard is a Lucene index Move data around clusters
  5. @DerekB_WI [email protected] Complex mapping applications can be created by using

    four types of queries Uses GeoJSON to define shape GeoShape Define top_left and bottom_right Geo Bounding Box Geo searches Previous example Geo Distance Define points to create a polygon Geo Polygon
  6. @DerekB_WI [email protected] Elasticsearch is read and search optimized at the

    expense of expensive writes Use batch API to insert many records Batches Strategy for queuing up data for batching Message Queues Sync with database Batch by range Ranges of data