Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Neo4j Integration

with ElasticSearch
March 23, 2016
Benjamin Nussbaum 

@bennussbaum
www.graphgrid.com | www.atomrain.com
Introduction
Benjamin Nussbaum
20 years of Technology Innovation.

Software architecture | Database design | Server infras...
Today’s Meetup Agenda
Neo4j Integration with ElasticSearch
• Why Does this Pairing Make Sense?
Graph Basics
• What is a gr...
Why Pair Neo4j and ElasticSearch?
ElasticSearch
▪ Search server

where scale and language rule. 

▪ Denormalized document ...
Graph-Aided Search
delivers a more personalized results enhanced by the
connectedness around the user making the query and...
Today’s Meetup Agenda
Neo4j Integration with ElasticSearch
• Why Does this Pairing Make Sense?
Graph Basics
• What is a gr...
A “Node”

in the graph
Hotel
Room
Person
A Graph Models

Real-World People, Places, and Things
Solution Partner
A “Label”
...
A “Relationship”

in the graph
PREFERS
Hotel
Room
Person
HAS_AVAILABLE
A Graph Models

Contextual Relationships
Solution P...
PREFERS
Hotel
Room
Person
“Properties”

in the graph
lastStayed: 2-10-2015
name: Hilton Hotel
name: Jane Smith
number: 315...
Graph Queries

Start with one “entity” and traverse the graph 

to discover linked people, places, or things
Query for a G...
Today’s Meetup Agenda
Neo4j Integration with ElasticSearch
• Why Does this Pairing Make Sense?
Graph Basics
• What is a gr...
Brining It All Together

great text based search leveraging contextually significant relationships
Brining It All Together

great text based search leveraging contextually significant relationships
Today’s Meetup Agenda
Neo4j Integration with ElasticSearch
• Why Does this Pairing Make Sense?
Graph Basics
• What is a gr...
Resources to Get you Started

Open Source
▪ neo4j-contrib: Neo4j -> ElasticSearch

https://github.com/neo4j-contrib/neo4j-...
Today’s Meetup Agenda
Neo4j Integration with ElasticSearch
• Why Does this Pairing Make Sense?
Graph Basics
• What is a gr...
Q&A
Thank You!
Neo4j Integration with ElasticSearch
March 23, 2016
Benjamin Nussbaum 

@bennussbaum
www.graphgrid.com | www.at...
Prochain SlideShare
Chargement dans…5
×

Neo4j Integration with ElasticSearch - ElasticSearch Meetup

66 797 vues

Publié le

Complimentary technologies are very important as it's rarely possible for a single technology to be optimized for everything. There are always trade-offs - jack of all trades master of none also applies in technology solutions: https://www.graphgrid.com/jack-of-all-data-master-none/.

In this increasingly polyglot world of data storage options one natural pairing that has proven quite effective is Neo4j and ElasticSearch. Neo4j is designed for optimal graph traversal (i.e querying highly connected data) and ElasticSearch is a powerful search server with great language analyzers and aggregation strategies out of the box. While you could try to rebuild the search capabilities in Neo4j because it's built on Lucene, you'd be relaying much of the foundation you already have in ElasticSearch with a subpar result and similarly while you could try to represent connected graph structures in ElasticSearch you'd be expending much effort with short comings in reliability due to the underlying storage mechanisms compared to using Neo4j for that connected data aspect. In this talk we'll look at paring them together and reaping the benefits of both doing what their best at.

Here is a high level summary blog post I published a couple weeks ago https://www.graphgrid.com/pairing-neo4j-elasticsearch-the-basics/ and we'll go into more technical detail about the integration.

Publié dans : Données & analyses
  • Login to see the comments

Neo4j Integration with ElasticSearch - ElasticSearch Meetup

  1. 1. Neo4j Integration
 with ElasticSearch March 23, 2016 Benjamin Nussbaum 
 @bennussbaum www.graphgrid.com | www.atomrain.com
  2. 2. Introduction Benjamin Nussbaum 20 years of Technology Innovation.
 Software architecture | Database design | Server infrastructure
 President & CTO of AtomRain,
 one of the world’s leading NEO4J Solution Partners 
 and makers of GraphGrid. a platform by
  3. 3. Today’s Meetup Agenda Neo4j Integration with ElasticSearch • Why Does this Pairing Make Sense? Graph Basics • What is a graph database. • How a graph works. • Native graphs. • Graph Layers. Connecting ElasticSearch • Pushing Data from Neo4j to ElasticSearch. • Enhancing a Search Query by Including Neo4j. Open Source Resources • Try out the Integration! Q&A
  4. 4. Why Pair Neo4j and ElasticSearch? ElasticSearch ▪ Search server
 where scale and language rule. 
 ▪ Denormalized document storage
 providing fast, direct data access
 ▪ Full-text, faceted search
 through highly indexed data ▪ Native graph database
 where reliability and traversal rule.
 ▪ ACID-compliant, transactional db 
 guaranteeing referential integrity.
 ▪ Constant time traversals
 through highly connected data Neo4j
  5. 5. Graph-Aided Search delivers a more personalized results enhanced by the connectedness around the user making the query and the thing being searched For white papers, visit neo4j.com/use-cases/
  6. 6. Today’s Meetup Agenda Neo4j Integration with ElasticSearch • Why Does this Pairing Make Sense? Graph Basics • What is a graph database. • How a graph works. • Native graphs. • Graph Layers. Connecting ElasticSearch • Pushing Data from Neo4j to ElasticSearch. • Enhancing a Search Query by Including Neo4j. Open Source Resources • Try out the Integration! Q&A
  7. 7. A “Node”
 in the graph Hotel Room Person A Graph Models
 Real-World People, Places, and Things Solution Partner A “Label”
 in the graph
  8. 8. A “Relationship”
 in the graph PREFERS Hotel Room Person HAS_AVAILABLE A Graph Models
 Contextual Relationships Solution Partner
  9. 9. PREFERS Hotel Room Person “Properties”
 in the graph lastStayed: 2-10-2015 name: Hilton Hotel name: Jane Smith number: 315 HAS_AVAILABLE A Graph Stores and Updates Data
 about Each Thing and its Relationships Solution Partner
  10. 10. Graph Queries
 Start with one “entity” and traverse the graph 
 to discover linked people, places, or things Query for a Graph MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report) WHERE boss.name = “John Doe” RETURN sub.name AS Subordinate, 
 count(report) AS Total NEO4J Cypher Language “Complex Join” in SQL Solution Partner
  11. 11. Today’s Meetup Agenda Neo4j Integration with ElasticSearch • Why Does this Pairing Make Sense? Graph Basics • What is a graph database. • How a graph works. • Native graphs. • Graph Layers. Connecting ElasticSearch • Pushing Data from Neo4j to ElasticSearch. • Enhancing a Search Query by Including Neo4j. Open Source Resources • Try out the Integration! Q&A
  12. 12. Brining It All Together
 great text based search leveraging contextually significant relationships
  13. 13. Brining It All Together
 great text based search leveraging contextually significant relationships
  14. 14. Today’s Meetup Agenda Neo4j Integration with ElasticSearch • Why Does this Pairing Make Sense? Graph Basics • What is a graph database. • How a graph works. • Native graphs. • Graph Layers. Connecting ElasticSearch • Pushing Data from Neo4j to ElasticSearch. • Enhancing a Search Query by Including Neo4j. Open Source Resources • Try out the Integration! Q&A
  15. 15. Resources to Get you Started
 Open Source ▪ neo4j-contrib: Neo4j -> ElasticSearch
 https://github.com/neo4j-contrib/neo4j-elasticsearch 
 ▪ graphaware: Neo4j -> ElasticSearch (<- is coming soon)
 https://github.com/graphaware/neo4j-to-elasticsearch/ Managed Service ▪ graphgrid: Neo4j -> ElasticSearch
 https://www.graphgrid.com/neo4j-elasticsearch/
  16. 16. Today’s Meetup Agenda Neo4j Integration with ElasticSearch • Why Does this Pairing Make Sense? Graph Basics • What is a graph database. • How a graph works. • Native graphs. • Graph Layers. Connecting ElasticSearch • Pushing Data from Neo4j to ElasticSearch. • Enhancing a Search Query by Including Neo4j. Open Source Resources • Try out the Integration! Q&A
  17. 17. Q&A
  18. 18. Thank You! Neo4j Integration with ElasticSearch March 23, 2016 Benjamin Nussbaum 
 @bennussbaum www.graphgrid.com | www.atomrain.com

×