# JAVA classes for shards

**URL:** <https://discuss.elastic.co/t/java-classes-for-shards/33701>\
**Category:** Elasticsearch\
**Created:** [November 4, 2015, 5:28am UTC](https://discuss.elastic.co/t/java-classes-for-shards/33701 "2015-11-04T05:28:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![skumar](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@skumar](https://discuss.elastic.co/u/skumar)\
**Post date:** [November 4, 2015, 5:28am UTC](https://discuss.elastic.co/t/java-classes-for-shards/33701/1 "2015-11-04T05:28:50Z")

</div>

Hello,  
I have maven project of elasticsearch in eclipse I want to know that which java classes should I go through to understand working of shards properly.(How data is stored in shards during indexing and how snapshot work at shards level).  
Thanks

---

<div class="post-metadata">

**Author:** ![jpountz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jpountz/32/45836_2.png) [@jpountz](https://discuss.elastic.co/u/jpountz)\
**Post date:** [November 4, 2015, 4:17pm UTC](https://discuss.elastic.co/t/java-classes-for-shards/33701/2 "2015-11-04T16:17:57Z")

</div>

Hi Skumar,

This is a broad question as shards are not that simple. An Elasticsearch shard is an Apache Lucene instance, which is not such an easy piece of software to understand either. If you are eager to learn about how elasticsearch works, I would really recommend to start by reading the book about Elasticsearch, which already contains in-depth information about how shards work: [https://www.elastic.co/guide/en/elasticsearch/guide/master/index.html](https://www.elastic.co/guide/en/elasticsearch/guide/master/index.html)

---

<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:40pm UTC](https://discuss.elastic.co/t/java-classes-for-shards/33701/3 "2017-07-05T23:40:33Z")

</div>


