SlideShare a Scribd company logo
TRANSFORMING
YOUR APPLICATION WITH
BRIAN RITCHIE
CTO, XEOHEALTH
2018
@brian_ritchie
brian.ritchie@gmail.com
http://www.dotnetpowered.com
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Brian Ritchie
CTO for XeoHealth Corporation
22 years of technology experience developing
software and managing technology teams in various
industries.
Author of RavenDB High Performance published by
PACKT in 2013.
Pursuing a Masters in Computer Science from
Georgia Tech.
@brian_ritchie
brian.ritchie@gmail.com
http://www.dotnetpowered.com
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
WELCOME
INTRODUCTION TO ELASTIC SEARCH
BRING YOUR DATA
SECURITY CONSIDERATIONS
PUTTING IT ALL TOGETHER
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
LET’S GET STARTED
With the story of your application…
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
IT WAS AMAZING…
It even had the new application smell.
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
BUT THEN CAME THE USERS, THE DATA, AND THE
NEW REQUIREMENTS….
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
NOW YOUR APPLICATION IS LEAVING YOU STRANDED
ON THE SIDE OF THE ROAD…
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
SO, WHY IS YOUR APPLICATION MELTING?
Too Many Reads,
Too Many Writes
= Contention
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
IS THIS THE ONLY FUTURE FOR YOUR APPLICATION?
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
NO WAY! IT’S TIME TO PIMP YOUR RIDE!
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
INTRODUCING
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
INTRODUCING
Elasticsearch is a search engine based
on Lucene. It provides a lightening fast,
distributed, multitenant-capable full-text
search engine with a HTTP RESTful
interface.
Elasticsearch is released as open source
under the terms of the Apache License.
It can be deployed locally or hosted in the
cloud.
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
INTRODUCING
Well known for
being part of the
Stack
The Elastic StackNote: this was rebranded
used to analyze log data
generated by your application
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
WHY
FAST
Document
Centric
Shard/
Partition
Index
Everything
Extremely Fast. Optimized for search. Flexible Schema.
Distributed
Cluster
FOR YOUR APPLICATION
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
WHY
SCALABLE “We can support clusters of massive scale. Well
into the 100s of terabytes. One of our largest
customers is currently at 750TB and should be in
excess of 1PB by the end of the year. “ - Scalefastr
“Today there are 60+ Elasticsearch clusters and
2000+ nodes. The daily ingestion reaches 18 billion
documents, and daily search requests reach 3.5
billion. ” - eBay
FOR YOUR APPLICATION
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
YOUR USERS ON
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
That sounds awesome!!
But, how does Elastic Search fit
into my data infrastructure?
BRINGING YOUR DATA INTO
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Utilizing a CQRS inspired pattern
BRINGING YOUR DATA INTO ELASTIC SEARCH
Command/Query Responsibility Segregation (CQRS) is the idea that
you can use a different model to update information than the model
you use to read information
Persistent View Model
Transactional Data
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
OPTION 1: Add Elastic search into your database pipeline
cluster
Kafka
ActiveMQ
RabbitMQ
….
BRINGING YOUR DATA INTO ELASTIC SEARCH
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
clusterKafka
ActiveMQ
RabbitMQ
….
OPTION 2: Replicate database updates to Elastic Search
BRINGING YOUR DATA INTO ELASTIC SEARCH
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
cluster
OPTION 3: Batch your database updates on a schedule
BRINGING YOUR DATA INTO ELASTIC SEARCH
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Structuring your data for search
DATA MODELING
Conceptually, indexes are like databases.
• SQL => Databases => Tables => Columns/Rows
• Elasticsearch => Indices => Types => Documents with Properties
Loans Payments Inventory
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Defining indexes
DATA MODELING:
Like databases, but more powerful. Queries can easily span indexes bringing
data together as needed.
Use indexes for:
• Security – use indexes to support
multi-tenant system
loan_hud loan_fdic
• Partitioning – time or other
data
log_20180501 log_20180502
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Defining documents
DATA MODELING:
{
"FirstName": "Jonathan",
"Address": "15 Wanamassa Point Road ",
"City": "Jacksonville",
"State": "FL",
"Children": [
{ "Name": "Michael", "Age": 10 },
{ "Name": "Jennifer", "Age": 8 },
{ "Name": "Samantha", "Age": 5 },
{ "Name": "Elena", "Age": 2 }
]
}
Instead of decomposing
data into separate entities:
Design documents based on what needs to
be searched and displayed together:
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Teach Elastic Search about specific types
DATA MODELING:
PUT _template/file_name_mapping
{
"template": ”loan_*",
"settings": { "number_of_shards": 5 },
"mappings": {
"_default_": {
"dynamic_templates": [ {
"filename_string_not_analyzed": {
"match": "edi_filename",
"mapping": {
"index": "not_analyzed",
"type": "string” }
} } ]
} }
}
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Giving the right users access to the right data
SECURITY CONSIDERATIONS
cluster
Search Guard
Custom
.NET Core / Java / etc.
Elastic Stack
Security
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
PUTTING IT ALL TOGETHER
The Home Mortgage Disclosure Act (HMDA) requires many financial institutions to
maintain, report, and publicly disclose loan-level information about mortgages.
Searching CFPB loan records w/ Elastic Search
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
PUTTING IT ALL TOGETHER
107 million
loan records
var record = csv.GetRecord<dynamic>();
var loan = Loan.FromFileLoan(record);
var index_name = string.Format("loan_{0}",
loan.agency_abbr.ToLower());
var response = client.Index<Loan>(
new IndexRequest<Loan>(loan, index_name));
Loading CFPB loan records into Elastic Search
{
"county": "Maricopa County",
"respondent_id": "0000451965",
"lien_status": "Not applicable",
"sequence_number": "0945293",
"applicant_income": 132000,
"preapproval": "Not applicable",
"applicant_race": "White",
"msamd": "Phoenix, Mesa, Scottsdale - AZ",
….
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Using Kibana to search and visualize your data
PUTTING IT ALL TOGETHER
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Using Elastic Search to optimize your user experience
PUTTING IT ALL TOGETHER
cluster
Single Page
Application
(SPA)
Angular /
React / etc.
JWT
Query
Request
REST API
.NET Core /
Java / etc.
Add security,
logging, etc.
TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH
Custom application using Angular, PrimeNG, .NET Core, and Elastic Search
PUTTING IT ALL TOGETHER
BRIAN RITCHIE
CTO, XEOHEALTH
2018
@brian_ritchie
brian.ritchie@gmail.com
http://www.dotnetpowered.com
QUESTIONS?
TRANSFORMING
YOUR APPLICATIONS WITH

More Related Content

PDF
schema.org, Linked Data's Gateway Drug
PPTX
Online MongoDB Training by Easylearning.guru
PDF
Building materialised views for linked data systems using microservices
PPTX
Practical Applications of Semantic Web in Retail -- Semtech 2014
PDF
Fried data summit data quality data analytics together
PPTX
Linked Data Presentation at TDWI Mpls
PDF
Intro to GraphQL
PPTX
The Internet as a Single Database
schema.org, Linked Data's Gateway Drug
Online MongoDB Training by Easylearning.guru
Building materialised views for linked data systems using microservices
Practical Applications of Semantic Web in Retail -- Semtech 2014
Fried data summit data quality data analytics together
Linked Data Presentation at TDWI Mpls
Intro to GraphQL
The Internet as a Single Database

What's hot (19)

PDF
Building, and communicating, a knowledge graph in Zalando
PDF
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
PPTX
Beyond the Basics 3: Introduction to the MongoDB BI Connector
PDF
RDF Data Quality Assessment - connecting the pieces
PPTX
Using NoSQL and Enterprise Shared Services (ESS) to Achieve a More Efficient ...
PPTX
Search Data center Dallas | ColoCompare Data Center Marketplace
PDF
MongoDB .local Chicago 2019: Using MongoDB Transactions to Implement Cryptogr...
PPTX
CData Data Today: A Developer's Dilemma
PPTX
MongoDB.local Seattle 2019: Building Your First MongoDB App Using Atlas & Stitch
PPTX
Webinar: Live Data Visualisation with Tableau and MongoDB
PPTX
Charles Ivie
PPTX
Data Center, Data Center Comparison
PPTX
SlamData - How MongoDB Is Powering a Revolution in Visual Analytics
KEY
APIs, Web Services, and Mashups: What they are and how they can be used
PDF
MongoDB .local Munich 2019: A Complete Methodology to Data Modeling for MongoDB
PPTX
Jumpstart: Introduction to MongoDB
PPTX
Tlantic @ ElasticSearch POA Meetup
PPTX
The Right (and Wrong) Use Cases for MongoDB
PPTX
MongoDB Evenings Minneapolis: MongoDB is Cool But When Should I Use It?
Building, and communicating, a knowledge graph in Zalando
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Beyond the Basics 3: Introduction to the MongoDB BI Connector
RDF Data Quality Assessment - connecting the pieces
Using NoSQL and Enterprise Shared Services (ESS) to Achieve a More Efficient ...
Search Data center Dallas | ColoCompare Data Center Marketplace
MongoDB .local Chicago 2019: Using MongoDB Transactions to Implement Cryptogr...
CData Data Today: A Developer's Dilemma
MongoDB.local Seattle 2019: Building Your First MongoDB App Using Atlas & Stitch
Webinar: Live Data Visualisation with Tableau and MongoDB
Charles Ivie
Data Center, Data Center Comparison
SlamData - How MongoDB Is Powering a Revolution in Visual Analytics
APIs, Web Services, and Mashups: What they are and how they can be used
MongoDB .local Munich 2019: A Complete Methodology to Data Modeling for MongoDB
Jumpstart: Introduction to MongoDB
Tlantic @ ElasticSearch POA Meetup
The Right (and Wrong) Use Cases for MongoDB
MongoDB Evenings Minneapolis: MongoDB is Cool But When Should I Use It?
Ad

Similar to Transforming your application with Elasticsearch (20)

PDF
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
PPSX
Elasticsearch - basics and beyond
PDF
Elasticsearch speed is key
PPTX
Elastic & Azure & Episever, Case Evira
PDF
Elasticsearch: From development to production in 15 minutes
PPTX
Elastic pivorak
PDF
Opening Keynote: Why Elastic?
PDF
Enhancement of Searching and Analyzing the Document using Elastic Search
PDF
Keynote: Making search better, faster, easier
PDF
Elasticsearch : petit déjeuner du 13 mars 2014
PPTX
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
PPTX
Introduction to Elasticsearch for Business Intelligence and Application Insights
PPTX
BigData Search Simplified with ElasticSearch
PPTX
Elasticsearch as a search alternative to a relational database
PDF
JavaCro'15 - Elasticsearch as a search alternative to a relational database -...
PPTX
Elasticsearch - Scalability and Multitenancy
PDF
Voxpopme - Elasticsearch Service
PPTX
Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015
PPTX
Elasticsearch
PDF
Crafting Solutions with the Elastic Stack: pragmatic takes and lessons learned
Séminaire Big Data Alter Way - Elasticsearch - octobre 2014
Elasticsearch - basics and beyond
Elasticsearch speed is key
Elastic & Azure & Episever, Case Evira
Elasticsearch: From development to production in 15 minutes
Elastic pivorak
Opening Keynote: Why Elastic?
Enhancement of Searching and Analyzing the Document using Elastic Search
Keynote: Making search better, faster, easier
Elasticsearch : petit déjeuner du 13 mars 2014
Elasticsearch, Logstash, Kibana. Cool search, analytics, data mining and more...
Introduction to Elasticsearch for Business Intelligence and Application Insights
BigData Search Simplified with ElasticSearch
Elasticsearch as a search alternative to a relational database
JavaCro'15 - Elasticsearch as a search alternative to a relational database -...
Elasticsearch - Scalability and Multitenancy
Voxpopme - Elasticsearch Service
Amazing Speed: Elasticsearch for the .NET Developer- Adrian Carr, Codestock 2015
Elasticsearch
Crafting Solutions with the Elastic Stack: pragmatic takes and lessons learned
Ad

More from Brian Ritchie (7)

PPTX
Building Event-Driven Systems with Apache Kafka
PPTX
From Dev to Ops:Delivering an API to Production with Splunk
PPT
Extending the Enterprise with MEF
PPTX
CQRS: Command/Query Responsibility Segregation
PPTX
IIS Always-On Services
PPTX
Scaling Out .NET
PPT
Document Databases & RavenDB
Building Event-Driven Systems with Apache Kafka
From Dev to Ops:Delivering an API to Production with Splunk
Extending the Enterprise with MEF
CQRS: Command/Query Responsibility Segregation
IIS Always-On Services
Scaling Out .NET
Document Databases & RavenDB

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
A Presentation on Artificial Intelligence
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Programs and apps: productivity, graphics, security and other tools
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
Network Security Unit 5.pdf for BCA BBA.
A Presentation on Artificial Intelligence
sap open course for s4hana steps from ECC to s4
Chapter 3 Spatial Domain Image Processing.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The AUB Centre for AI in Media Proposal.docx
Machine Learning_overview_presentation.pptx
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Programs and apps: productivity, graphics, security and other tools

Transforming your application with Elasticsearch

  • 1. TRANSFORMING YOUR APPLICATION WITH BRIAN RITCHIE CTO, XEOHEALTH 2018 @brian_ritchie brian.ritchie@gmail.com http://www.dotnetpowered.com
  • 2. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Brian Ritchie CTO for XeoHealth Corporation 22 years of technology experience developing software and managing technology teams in various industries. Author of RavenDB High Performance published by PACKT in 2013. Pursuing a Masters in Computer Science from Georgia Tech. @brian_ritchie brian.ritchie@gmail.com http://www.dotnetpowered.com
  • 3. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH WELCOME INTRODUCTION TO ELASTIC SEARCH BRING YOUR DATA SECURITY CONSIDERATIONS PUTTING IT ALL TOGETHER
  • 4. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH LET’S GET STARTED With the story of your application…
  • 5. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH IT WAS AMAZING… It even had the new application smell.
  • 6. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH BUT THEN CAME THE USERS, THE DATA, AND THE NEW REQUIREMENTS….
  • 7. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH NOW YOUR APPLICATION IS LEAVING YOU STRANDED ON THE SIDE OF THE ROAD…
  • 8. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH SO, WHY IS YOUR APPLICATION MELTING? Too Many Reads, Too Many Writes = Contention
  • 9. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH IS THIS THE ONLY FUTURE FOR YOUR APPLICATION?
  • 10. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH NO WAY! IT’S TIME TO PIMP YOUR RIDE!
  • 11. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH INTRODUCING
  • 12. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH INTRODUCING Elasticsearch is a search engine based on Lucene. It provides a lightening fast, distributed, multitenant-capable full-text search engine with a HTTP RESTful interface. Elasticsearch is released as open source under the terms of the Apache License. It can be deployed locally or hosted in the cloud.
  • 13. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH INTRODUCING Well known for being part of the Stack The Elastic StackNote: this was rebranded used to analyze log data generated by your application
  • 14. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH WHY FAST Document Centric Shard/ Partition Index Everything Extremely Fast. Optimized for search. Flexible Schema. Distributed Cluster FOR YOUR APPLICATION
  • 15. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH WHY SCALABLE “We can support clusters of massive scale. Well into the 100s of terabytes. One of our largest customers is currently at 750TB and should be in excess of 1PB by the end of the year. “ - Scalefastr “Today there are 60+ Elasticsearch clusters and 2000+ nodes. The daily ingestion reaches 18 billion documents, and daily search requests reach 3.5 billion. ” - eBay FOR YOUR APPLICATION
  • 16. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH YOUR USERS ON
  • 17. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH That sounds awesome!! But, how does Elastic Search fit into my data infrastructure? BRINGING YOUR DATA INTO
  • 18. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Utilizing a CQRS inspired pattern BRINGING YOUR DATA INTO ELASTIC SEARCH Command/Query Responsibility Segregation (CQRS) is the idea that you can use a different model to update information than the model you use to read information Persistent View Model Transactional Data
  • 19. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH OPTION 1: Add Elastic search into your database pipeline cluster Kafka ActiveMQ RabbitMQ …. BRINGING YOUR DATA INTO ELASTIC SEARCH
  • 20. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH clusterKafka ActiveMQ RabbitMQ …. OPTION 2: Replicate database updates to Elastic Search BRINGING YOUR DATA INTO ELASTIC SEARCH
  • 21. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH cluster OPTION 3: Batch your database updates on a schedule BRINGING YOUR DATA INTO ELASTIC SEARCH
  • 22. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Structuring your data for search DATA MODELING Conceptually, indexes are like databases. • SQL => Databases => Tables => Columns/Rows • Elasticsearch => Indices => Types => Documents with Properties Loans Payments Inventory
  • 23. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Defining indexes DATA MODELING: Like databases, but more powerful. Queries can easily span indexes bringing data together as needed. Use indexes for: • Security – use indexes to support multi-tenant system loan_hud loan_fdic • Partitioning – time or other data log_20180501 log_20180502
  • 24. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Defining documents DATA MODELING: { "FirstName": "Jonathan", "Address": "15 Wanamassa Point Road ", "City": "Jacksonville", "State": "FL", "Children": [ { "Name": "Michael", "Age": 10 }, { "Name": "Jennifer", "Age": 8 }, { "Name": "Samantha", "Age": 5 }, { "Name": "Elena", "Age": 2 } ] } Instead of decomposing data into separate entities: Design documents based on what needs to be searched and displayed together:
  • 25. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Teach Elastic Search about specific types DATA MODELING: PUT _template/file_name_mapping { "template": ”loan_*", "settings": { "number_of_shards": 5 }, "mappings": { "_default_": { "dynamic_templates": [ { "filename_string_not_analyzed": { "match": "edi_filename", "mapping": { "index": "not_analyzed", "type": "string” } } } ] } } }
  • 26. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Giving the right users access to the right data SECURITY CONSIDERATIONS cluster Search Guard Custom .NET Core / Java / etc. Elastic Stack Security
  • 27. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH PUTTING IT ALL TOGETHER The Home Mortgage Disclosure Act (HMDA) requires many financial institutions to maintain, report, and publicly disclose loan-level information about mortgages. Searching CFPB loan records w/ Elastic Search
  • 28. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH PUTTING IT ALL TOGETHER 107 million loan records var record = csv.GetRecord<dynamic>(); var loan = Loan.FromFileLoan(record); var index_name = string.Format("loan_{0}", loan.agency_abbr.ToLower()); var response = client.Index<Loan>( new IndexRequest<Loan>(loan, index_name)); Loading CFPB loan records into Elastic Search { "county": "Maricopa County", "respondent_id": "0000451965", "lien_status": "Not applicable", "sequence_number": "0945293", "applicant_income": 132000, "preapproval": "Not applicable", "applicant_race": "White", "msamd": "Phoenix, Mesa, Scottsdale - AZ", ….
  • 29. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Using Kibana to search and visualize your data PUTTING IT ALL TOGETHER
  • 30. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Using Elastic Search to optimize your user experience PUTTING IT ALL TOGETHER cluster Single Page Application (SPA) Angular / React / etc. JWT Query Request REST API .NET Core / Java / etc. Add security, logging, etc.
  • 31. TRANSFORMING YOUR APPLICATION WITH ELASTIC SEARCH Custom application using Angular, PrimeNG, .NET Core, and Elastic Search PUTTING IT ALL TOGETHER