I would like to learn more about the tech behind elastic. But not the database it's self more the distributed technology, principles, design patterns, etc. API's change but design constraints and approach is hard to shift. Learning about the fancy new API is cool and all, but doesn't create the long term affect of understanding how the mapping, indexing and searching techniques work. Also the web contains so much contradicting documentation in regards to painless, it's hard to follow.
I'm willing to put in the work, buy books, and what not. Can the people in the community direct me on deeply groking elastic specifically and the ELK stack in general.
I know this isn't a simple Q&A discussion, but I would love to hear more about this.
Hi @qballer, if you are interested in Elasticsearch's deep internals then you could do worse than studying the source code itself. The contributing guidelines describe how to set things up in an IDE, and then you will have powerful navigation to help work out how it all fits together, as well as the ability to run tests and to investigate behaviour by writing tests and using the debugger. It can be illuminating to try altering some functionality to find out what breaks.
I cannot promise that every piece is thoroughly documented, of course, but there are usually comments in the trickier areas. There are also some package-level JavaDocs that give an overview of certain packages. Improvements/clarifications/additions to this sort of medium-level documentation are often welcome, and your perspective as a newcomer to the codebase can be helpful here.
It's hard to be much more precise without a more precise question.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.