Skip to content

mapr-demos/ojai-search-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OJAI Search Plugin

Design

OJAI Search Plugin consists of the following two components: Search Plugin Service and Search Client.

Search Plugin Service

Kafka Consumer listens Change Data Records and updates indices at ElasticSearch. To make the installation easier it can be distributed as Docker image for example.

Search Client

Must be included as dependency to Java application. Can be represented as single Java class. Usage example:

Connection connection = DriverManager.getConnection("ojai:mapr:");

    ...

OjaiSearchClient clinet = new OjaiSearchClient(connection, "elastichostname:9300");
List<Document> documents = clinet.search("/apps/albums", new Match("Immortal"));

    ...

client.close();

Client makes search request to ElasticSearch, receives search results, that contain document's identifier and table path. After that, client queries MapR-DB JSON Table via OJAI Driver to get actual JSON document. It can be published as Maven artifact or can be included to mapr-ojai-driver artifact.

Also, system which uses OJAI Search Plugin must have the following components:

  • ElasticSearch

It can be separate ElasticSearch cluster or it can be an instance running on one of MapR Cluster's nodes.

  • MapR-DB JSON Tables

MapR-DB JSON Tables store actual JSON document, which will be searched via the Plugin.

  • Changelog

MapR cluster must be properly configured. Tables must have the changelog relationship with the destination stream topic.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published