Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Preview:

Citation preview

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 infrastructure

President & CTO of AtomRain, one of the world’s leading NEO4J Solution Partners and makers of GraphGrid.

a platform by

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

Why Pair Neo4j and ElasticSearch?

ElasticSearch

▪ Search server where scale and language rule.

▪ Denormalized document storageproviding fast, direct data access

▪ Full-text, faceted searchthrough highly indexed data

▪ Native graph databasewhere reliability and traversal rule.

▪ ACID-compliant, transactional db guaranteeing referential integrity.

▪ Constant time traversalsthrough highly connected data

Neo4j

Graph-Aided Searchdelivers 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/

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

A “Node”in the graph

Hotel

RoomPerson

A Graph ModelsReal-World People, Places, and Things

Solution Partner

A “Label”in the graph

A “Relationship”in the graph

PREFERS

Hotel

RoomPerson

HAS_

AVAI

LABL

E

A Graph ModelsContextual Relationships

Solution Partner

PREFERS

Hotel

RoomPerson

“Properties”in the graph

lastStayed: 2-10-2015

name: Hilton Hotel

name: Jane Smithnumber: 315

HAS_

AVAI

LABL

E

A Graph Stores and Updates Data about Each Thing and its Relationships

Solution Partner

Graph QueriesStart 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

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

Brining It All Togethergreat text based search leveraging contextually significant relationships

Brining It All Togethergreat 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 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

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 -> ElasticSearchhttps://www.graphgrid.com/neo4j-elasticsearch/

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

Q&A

Thank You! Neo4j Integration with ElasticSearch

March 23, 2016

Benjamin Nussbaum @bennussbaum www.graphgrid.com | www.atomrain.com

Recommended