# ElasticSearch as a searchable cache

**URL:** <https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047>\
**Category:** Elasticsearch\
**Created:** [June 28, 2010, 8:52am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047 "2010-06-28T08:52:01Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Franz\_Allan\_Valencia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/franz_allan_valencia/32/3326_2.png) [@Franz\_Allan\_Valencia](https://discuss.elastic.co/u/Franz_Allan_Valencia)\
**Post date:** [June 28, 2010, 8:52am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/1 "2010-06-28T08:52:01Z")

</div>

Good day,

I'm planning to use ElasticSearch as a horizontally scalable cache that I  
can search data from (because querying data from our RDBMs even with  
indexing and pagination is too slow). That is, I will query data from our  
RDBMs, (optionally do some processing on those data,) then store it in  
ElasticSearch. So that when I do a search, I just search against  
ElasticSearch. And when I do an update, I update both RDBMs and  
ElasticSearch.

Is my plan on how to use ElasticSearch correct, or I am totally wrong on  
ElasticSearch's usage? ..or is there a better tool for that?

Note: Our application is on java.

Thanks,

--  
Franz Allan Valencia See | Java Software Engineer  
[franz.see@gmail.com](mailto:franz.see@gmail.com)  
LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [June 28, 2010, 9:43am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/2 "2010-06-28T09:43:46Z")

</div>

Sounds good to me, especially since you get some features out of  
elasticsearch that you can't use in the database.

-shay.banon

On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
[franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:

> Good day,
> 
> I'm planning to use Elasticsearch as a horizontally scalable cache that I  
> can search data from (because querying data from our RDBMs even with  
> indexing and pagination is too slow). That is, I will query data from our  
> RDBMs, (optionally do some processing on those data,) then store it in  
> Elasticsearch. So that when I do a search, I just search against  
> Elasticsearch. And when I do an update, I update both RDBMs and  
> Elasticsearch.
> 
> Is my plan on how to use Elasticsearch correct, or I am totally wrong on  
> Elasticsearch's usage? ..or is there a better tool for that?
> 
> Note: Our application is on java.
> 
> Thanks,
> 
> --  
> Franz Allan Valencia See | Java Software Engineer  
> [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![Franz\_Allan\_Valencia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/franz_allan_valencia/32/3326_2.png) [@Franz\_Allan\_Valencia](https://discuss.elastic.co/u/Franz_Allan_Valencia)\
**Post date:** [June 28, 2010, 11:06pm UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/3 "2010-06-28T23:06:49Z")

</div>

Thanks 🙂

Follow-up question:  
From an RDBMs, to retrieve/search data from multiple table, we use a join.  
How about for Elasticsearch? Are these data 'denormalized' to documents or  
can Elasticsearch's index + type mimic joining a table?

Pardon for the very noob question.

## Thanks,

Franz Allan Valencia See | Java Software Engineer  
[franz.see@gmail.com](mailto:franz.see@gmail.com)  
LinkedIn: [Franz Allan See - PDAX | LinkedIn](http://www.linkedin.com/in/franzsee)  
Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

On Mon, Jun 28, 2010 at 6:43 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> Sounds good to me, especially since you get some features out of  
> elasticsearch that you can't use in the database.
> 
> -shay.banon
> 
> On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
> [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> 
> > Good day,
> > 
> > I'm planning to use Elasticsearch as a horizontally scalable cache that I  
> > can search data from (because querying data from our RDBMs even with  
> > indexing and pagination is too slow). That is, I will query data from our  
> > RDBMs, (optionally do some processing on those data,) then store it in  
> > Elasticsearch. So that when I do a search, I just search against  
> > Elasticsearch. And when I do an update, I update both RDBMs and  
> > Elasticsearch.
> > 
> > Is my plan on how to use Elasticsearch correct, or I am totally wrong on  
> > Elasticsearch's usage? ..or is there a better tool for that?
> > 
> > Note: Our application is on java.
> > 
> > Thanks,
> > 
> > --  
> > Franz Allan Valencia See | Java Software Engineer  
> > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > LinkedIn: [Franz Allan See - PDAX | LinkedIn](http://www.linkedin.com/in/franzsee)  
> > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [June 29, 2010, 7:46am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/4 "2010-06-29T07:46:27Z")

</div>

You will have to denormalize you data into self contained/searchable  
documents. Though there is some interesting work being done at creating  
parent / child doc relationship, but its at a very very early stage.

-shay.banon

On Tue, Jun 29, 2010 at 2:06 AM, Franz Allan Valencia See \<  
[franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:

> Thanks 🙂
> 
> Follow-up question:  
> From an RDBMs, to retrieve/search data from multiple table, we use a join.  
> How about for Elasticsearch? Are these data 'denormalized' to documents or  
> can Elasticsearch's index + type mimic joining a table?
> 
> Pardon for the very noob question.
> 
> ## Thanks,
> 
> Franz Allan Valencia See | Java Software Engineer  
> [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)
> 
> On Mon, Jun 28, 2010 at 6:43 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:
> 
> > Sounds good to me, especially since you get some features out of  
> > elasticsearch that you can't use in the database.
> > 
> > -shay.banon
> > 
> > On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
> > [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> > 
> > > Good day,
> > > 
> > > I'm planning to use Elasticsearch as a horizontally scalable cache that I  
> > > can search data from (because querying data from our RDBMs even with  
> > > indexing and pagination is too slow). That is, I will query data from our  
> > > RDBMs, (optionally do some processing on those data,) then store it in  
> > > Elasticsearch. So that when I do a search, I just search against  
> > > Elasticsearch. And when I do an update, I update both RDBMs and  
> > > Elasticsearch.
> > > 
> > > Is my plan on how to use Elasticsearch correct, or I am totally wrong on  
> > > Elasticsearch's usage? ..or is there a better tool for that?
> > > 
> > > Note: Our application is on java.
> > > 
> > > Thanks,
> > > 
> > > --  
> > > Franz Allan Valencia See | Java Software Engineer  
> > > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![Franz\_Allan\_Valencia](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/franz_allan_valencia/32/3326_2.png) [@Franz\_Allan\_Valencia](https://discuss.elastic.co/u/Franz_Allan_Valencia)\
**Post date:** [June 29, 2010, 7:51am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/5 "2010-06-29T07:51:02Z")

</div>

K, thanks 🙂

On Tue, Jun 29, 2010 at 4:46 PM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> You will have to denormalize you data into self contained/searchable  
> documents. Though there is some interesting work being done at creating  
> parent / child doc relationship, but its at a very very early stage.
> 
> -shay.banon
> 
> On Tue, Jun 29, 2010 at 2:06 AM, Franz Allan Valencia See \<  
> [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> 
> > Thanks 🙂
> > 
> > Follow-up question:  
> > From an RDBMs, to retrieve/search data from multiple table, we use a join.  
> > How about for Elasticsearch? Are these data 'denormalized' to documents or  
> > can Elasticsearch's index + type mimic joining a table?
> > 
> > Pardon for the very noob question.
> > 
> > ## Thanks,
> > 
> > Franz Allan Valencia See | Java Software Engineer  
> > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)
> > 
> > On Mon, Jun 28, 2010 at 6:43 PM, Shay Banon \<[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)
> > 
> > > wrote:
> > 
> > > Sounds good to me, especially since you get some features out of  
> > > elasticsearch that you can't use in the database.
> > > 
> > > -shay.banon
> > > 
> > > On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
> > > [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> > > 
> > > > Good day,
> > > > 
> > > > I'm planning to use Elasticsearch as a horizontally scalable cache that  
> > > > I can search data from (because querying data from our RDBMs even with  
> > > > indexing and pagination is too slow). That is, I will query data from our  
> > > > RDBMs, (optionally do some processing on those data,) then store it in  
> > > > Elasticsearch. So that when I do a search, I just search against  
> > > > Elasticsearch. And when I do an update, I update both RDBMs and  
> > > > Elasticsearch.
> > > > 
> > > > Is my plan on how to use Elasticsearch correct, or I am totally wrong on  
> > > > Elasticsearch's usage? ..or is there a better tool for that?
> > > > 
> > > > Note: Our application is on java.
> > > > 
> > > > Thanks,
> > > > 
> > > > --  
> > > > Franz Allan Valencia See | Java Software Engineer  
> > > > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > > > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > > > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

--  
Franz Allan Valencia See | Java Software Engineer  
[franz.see@gmail.com](mailto:franz.see@gmail.com)  
LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![Martijn\_Laarman1](https://avatars.discourse-cdn.com/v4/letter/m/82dd89/32.png) [@Martijn\_Laarman1](https://discuss.elastic.co/u/Martijn_Laarman1)\
**Post date:** [June 30, 2010, 8:28am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/6 "2010-06-30T08:28:24Z")

</div>

@Shay could you elaborate some more on the work in progress on parent /  
child relationships ?

Especially in relation to the ticket I created here:  
[Issues · elastic/elasticsearch · GitHub](http://github.com/elasticsearch/elasticsearch/issues#issue/211) ?

Thanks in advance!

On Tue, Jun 29, 2010 at 9:46 AM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:

> You will have to denormalize you data into self contained/searchable  
> documents. Though there is some interesting work being done at creating  
> parent / child doc relationship, but its at a very very early stage.
> 
> -shay.banon
> 
> On Tue, Jun 29, 2010 at 2:06 AM, Franz Allan Valencia See \<  
> [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> 
> > Thanks 🙂
> > 
> > Follow-up question:  
> > From an RDBMs, to retrieve/search data from multiple table, we use a join.  
> > How about for Elasticsearch? Are these data 'denormalized' to documents or  
> > can Elasticsearch's index + type mimic joining a table?
> > 
> > Pardon for the very noob question.
> > 
> > ## Thanks,
> > 
> > Franz Allan Valencia See | Java Software Engineer  
> > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)
> > 
> > On Mon, Jun 28, 2010 at 6:43 PM, Shay Banon \<[shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)
> > 
> > > wrote:
> > 
> > > Sounds good to me, especially since you get some features out of  
> > > elasticsearch that you can't use in the database.
> > > 
> > > -shay.banon
> > > 
> > > On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
> > > [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> > > 
> > > > Good day,
> > > > 
> > > > I'm planning to use Elasticsearch as a horizontally scalable cache that  
> > > > I can search data from (because querying data from our RDBMs even with  
> > > > indexing and pagination is too slow). That is, I will query data from our  
> > > > RDBMs, (optionally do some processing on those data,) then store it in  
> > > > Elasticsearch. So that when I do a search, I just search against  
> > > > Elasticsearch. And when I do an update, I update both RDBMs and  
> > > > Elasticsearch.
> > > > 
> > > > Is my plan on how to use Elasticsearch correct, or I am totally wrong on  
> > > > Elasticsearch's usage? ..or is there a better tool for that?
> > > > 
> > > > Note: Our application is on java.
> > > > 
> > > > Thanks,
> > > > 
> > > > --  
> > > > Franz Allan Valencia See | Java Software Engineer  
> > > > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > > > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > > > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [June 30, 2010, 10:03am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/7 "2010-06-30T10:03:30Z")

</div>

Same answer I gave in the issue, there is some work in Lucene to support  
this, but its far from something that can be used properly. I am not  
tackling it on elasticsearch level (with or without native Lucene support)  
anytime soon.

-shay.banon

On Wed, Jun 30, 2010 at 11:28 AM, Martijn Laarman [m.laarman@datheon.com](mailto:m.laarman@datheon.com)wrote:

> @Shay could you elaborate some more on the work in progress on parent /  
> child relationships ?
> 
> Especially in relation to the ticket I created here:  
> [Issues · elastic/elasticsearch · GitHub](http://github.com/elasticsearch/elasticsearch/issues#issue/211) ?
> 
> Thanks in advance!
> 
> On Tue, Jun 29, 2010 at 9:46 AM, Shay Banon [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)wrote:
> 
> > You will have to denormalize you data into self contained/searchable  
> > documents. Though there is some interesting work being done at creating  
> > parent / child doc relationship, but its at a very very early stage.
> > 
> > -shay.banon
> > 
> > On Tue, Jun 29, 2010 at 2:06 AM, Franz Allan Valencia See \<  
> > [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> > 
> > > Thanks 🙂
> > > 
> > > Follow-up question:  
> > > From an RDBMs, to retrieve/search data from multiple table, we use a  
> > > join. How about for Elasticsearch? Are these data 'denormalized' to  
> > > documents or can Elasticsearch's index + type mimic joining a table?
> > > 
> > > Pardon for the very noob question.
> > > 
> > > ## Thanks,
> > > 
> > > Franz Allan Valencia See | Java Software Engineer  
> > > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)
> > > 
> > > On Mon, Jun 28, 2010 at 6:43 PM, Shay Banon \<  
> > > [shay.banon@elasticsearch.com](mailto:shay.banon@elasticsearch.com)\> wrote:
> > > 
> > > > Sounds good to me, especially since you get some features out of  
> > > > elasticsearch that you can't use in the database.
> > > > 
> > > > -shay.banon
> > > > 
> > > > On Mon, Jun 28, 2010 at 11:52 AM, Franz Allan Valencia See \<  
> > > > [franz.see@gmail.com](mailto:franz.see@gmail.com)\> wrote:
> > > > 
> > > > > Good day,
> > > > > 
> > > > > I'm planning to use Elasticsearch as a horizontally scalable cache that  
> > > > > I can search data from (because querying data from our RDBMs even with  
> > > > > indexing and pagination is too slow). That is, I will query data from our  
> > > > > RDBMs, (optionally do some processing on those data,) then store it in  
> > > > > Elasticsearch. So that when I do a search, I just search against  
> > > > > Elasticsearch. And when I do an update, I update both RDBMs and  
> > > > > Elasticsearch.
> > > > > 
> > > > > Is my plan on how to use Elasticsearch correct, or I am totally wrong  
> > > > > on Elasticsearch's usage? ..or is there a better tool for that?
> > > > > 
> > > > > Note: Our application is on java.
> > > > > 
> > > > > Thanks,
> > > > > 
> > > > > --  
> > > > > Franz Allan Valencia See | Java Software Engineer  
> > > > > [franz.see@gmail.com](mailto:franz.see@gmail.com)  
> > > > > LinkedIn: [http://www.linkedin.com/in/franzsee](http://www.linkedin.com/in/franzsee)  
> > > > > Twitter: [http://www.twitter.com/franz\_see](http://www.twitter.com/franz_see)

---

<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 6, 2017, 4:22am UTC](https://discuss.elastic.co/t/elasticsearch-as-a-searchable-cache/3047/8 "2017-07-06T04:22:52Z")

</div>


