Coder Social home page Coder Social logo

nurikpyn / elasticsearch-akka Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jaibeermalik/elasticsearch-akka

0.0 1.0 0.0 292 KB

ElasticSearch indexing setup procedure using Akka, tutorial using test cases.

License: MIT License

Java 89.81% Scala 10.19%

elasticsearch-akka's Introduction

elasticsearch-akka

Using akka java and java/scala API with elasticsearch to generate and index documents.

Setup Index

setup all the indices from start, and change to alias later. Setup multiple indices in parallel. Only if all indexing done, change to alias. Monitor indexing of all doc, how many successful and failures. Depending all count of docs, change aliasing.

Approach

BooststrapSearchSetup(): Kick off search setup and monitor status.
->SetupIndexMasterActor: Monitor status for all indexes. Single instance per app context.
-->SetupIndexWorkerActor: foreach index monitor status. One instance per index.
--->SetupDocumentTypeWorkerActor: foreach document type track status and index in parallel. One instance per document type under an index.
---->DataGeneratorWorkerActor: Generate data which needs to be indexed. Single instance per document type.
---->DocumentGeneratorWorkerActor: Generate search document. multiple instance let's say 10.
---->IndexProductDataWorkerActor: index search document to ES. multiple instance let's say 10.

Regular update

Index a document Asynch on real time. Update/Delete a doc, and check status.

Exception handling

Each Actor to report status using exception handling. Actor state and status reporting from child actor to Parent with timeout approach.

Executor, Dispatcher and Routing

Specific configurations for executors, dispatchers and routing for each actor. Balancing dispatcher for same actor type as diving work to idle actors also. Round-robin Resizable router pool.

Testing

Unit test cases for Actors using testkit. Integration test cases with spring test.


Jaibeer Malik

elasticsearch-akka's People

Contributors

jaibeermalik avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.