# Java Docs for ES code

**URL:** <https://discuss.elastic.co/t/java-docs-for-es-code/31889>\
**Category:** Elasticsearch\
**Created:** [October 9, 2015, 3:56am UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889 "2015-10-09T03:56:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![SKumarMN](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skumarmn/32/27537_2.png) [@SKumarMN](https://discuss.elastic.co/u/SKumarMN)\
**Post date:** [October 9, 2015, 3:56am UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/1 "2015-10-09T03:56:38Z")

</div>

I would like to understand the internals of ElasticSearch by digging into code. is there any docs like JAVA docs or something else to find out what each class does..

---

<div class="post-metadata">

**Author:** ![softwaredoug](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/softwaredoug/32/22681_2.png) [@softwaredoug](https://discuss.elastic.co/u/softwaredoug)\
**Post date:** [October 9, 2015, 11:36am UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/2 "2015-10-09T11:36:45Z")

</div>

If recommend just diving in. Elasticsearch and Lucene have some rather well thought out code and I've found it easy to dive in. You might want a tutorial on using Lucene as a Java library first as Elasticsearch wraps Lucene.

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [October 9, 2015, 12:16pm UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/3 "2015-10-09T12:16:37Z")

</div>

[http://xbib.org/elasticsearch/1.5.1/apidocs/](http://xbib.org/elasticsearch/1.5.1/apidocs/)

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [October 9, 2015, 12:49pm UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/4 "2015-10-09T12:49:11Z")

</div>

> [@softwaredoug](#):
>
> If recommend just diving in. Elasticsearch and Lucene have some rather well thought out code and I've found it easy to dive in. You might want a tutorial on using Lucene as a Java library first as Elasticsearch wraps Lucene.

Yeah, you just have to dive in. Some classes have Javadocs but there isn't anything enforcing it and we're not sticklers for it on code review. I think when I was getting started I sent some pull requests that just added javadocs do things. That way there would be more docs **and** a committer would double check my understanding.

Depending one what you are looking for you might only see Lucene tangentially. For Lucene - just keep in mind that it uses its own conventions that are different from the standard Java conventions. Elasticsearch ends up using a blend of Lucene and standard Java conventions.

If you have any questions feel free to ask here. There are around a dozen active users of this forum who consistently work on the code. Its a full time job for many of us.

One more thing: I'd start reading the master branch rather than 1.7 branch. It isn't what everyone is using but its "the future" so it'll be a bit easier to read. And its where we'll make the most changes. Lots of work is done there and backported to the 2.x branches.

---

<div class="post-metadata">

**Author:** ![SKumarMN](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/skumarmn/32/27537_2.png) [@SKumarMN](https://discuss.elastic.co/u/SKumarMN)\
**Post date:** [October 13, 2015, 7:12am UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/5 "2015-10-13T07:12:31Z")

</div>

Thanks.. Will definitely reach out when help is need .

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 11:45pm UTC](https://discuss.elastic.co/t/java-docs-for-es-code/31889/6 "2017-07-05T23:45:09Z")

</div>


