neo4j integration with elasticsearch - elasticsearch meetup

18
Neo4j Integration with ElasticSearch March 23, 2016 Benjamin Nussbaum @bennussbaum www.graphgrid.com | www.atomrain.com

Upload: benjamin-nussbaum

Post on 09-Feb-2017

1.573 views

Category:

Data & Analytics


4 download

TRANSCRIPT

Page 1: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Neo4j Integration with ElasticSearch

March 23, 2016

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

Page 2: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 3: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 4: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 5: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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/

Page 6: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 7: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

A “Node”in the graph

Hotel

RoomPerson

A Graph ModelsReal-World People, Places, and Things

Solution Partner

A “Label”in the graph

Page 8: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

A “Relationship”in the graph

PREFERS

Hotel

RoomPerson

HAS_

AVAI

LABL

E

A Graph ModelsContextual Relationships

Solution Partner

Page 9: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 10: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 11: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 12: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Brining It All Togethergreat text based search leveraging contextually significant relationships

Page 13: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Brining It All Togethergreat text based search leveraging contextually significant relationships

Page 14: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 15: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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/

Page 16: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

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

Page 17: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Q&A

Page 18: Neo4j Integration with ElasticSearch - ElasticSearch Meetup

Thank You! Neo4j Integration with ElasticSearch

March 23, 2016

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