# Using multiple indexes

**URL:** <https://discuss.elastic.co/t/using-multiple-indexes/119089>\
**Category:** Elasticsearch\
**Created:** [February 8, 2018, 4:35pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089 "2018-02-08T16:35:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![aliyesami](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@aliyesami](https://discuss.elastic.co/u/aliyesami)\
**Post date:** [February 8, 2018, 4:35pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/1 "2018-02-08T16:35:21Z")

</div>

I want to implement the following query structure where two tables are involved, I could bring each table into a separate index but how can I join the info as follows ?

```
select * from tab1 
    where name='john' 
    and NOT EXITS 
    	(select * from tab2 where age < 40 )
```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [February 8, 2018, 4:47pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/2 "2018-02-08T16:47:16Z")

</div>

You can't do join at search time (unless you use the parent/child mechanism which comes with some tradeoffs).

---

<div class="post-metadata">

**Author:** ![aliyesami](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@aliyesami](https://discuss.elastic.co/u/aliyesami)\
**Post date:** [February 8, 2018, 7:54pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/3 "2018-02-08T19:54:16Z")

</div>

```
what about subquery like this ? can this be implemented in elasticsearch ?

SELECT LastName, FirstName 
FROM dbo.Employees
WHERE City in 
 ( SELECT City
 FROM Employees
 WHERE LastName="Davolio" 
 AND FirstName="Nancy" )
```

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [February 8, 2018, 8:37pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/4 "2018-02-08T20:37:08Z")

</div>

I believe you can do something similar with [https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html)

Basically, search for LastName/FirstName with a query, compute a terms agg on the city then add a top hits agg as a sub aggregation.

That might work.

---

<div class="post-metadata">

**Author:** ![aliyesami](https://avatars.discourse-cdn.com/v4/letter/a/ecb155/32.png) [@aliyesami](https://discuss.elastic.co/u/aliyesami)\
**Post date:** [February 8, 2018, 9:09pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/5 "2018-02-08T21:09:15Z")

</div>

I am not understanding the role of "top hits aggregation"

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [February 8, 2018, 9:21pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/6 "2018-02-08T21:21:44Z")

</div>

Hmmmm.

That might not work after all... Sorry.

Probably you have to run 2 queries .

---

<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:** [March 8, 2018, 9:21pm UTC](https://discuss.elastic.co/t/using-multiple-indexes/119089/7 "2018-03-08T21:21:49Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
