# Multiple index search java

**URL:** <https://discuss.elastic.co/t/multiple-index-search-java/225643>\
**Category:** Elasticsearch\
**Created:** [March 30, 2020, 9:36am UTC](https://discuss.elastic.co/t/multiple-index-search-java/225643 "2020-03-30T09:36:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rohit.singh3](https://avatars.discourse-cdn.com/v4/letter/r/a8b319/32.png) [@rohit.singh3](https://discuss.elastic.co/u/rohit.singh3)\
**Post date:** [March 30, 2020, 9:36am UTC](https://discuss.elastic.co/t/multiple-index-search-java/225643/1 "2020-03-30T09:36:39Z")

</div>

i want a searchstring to searched in multiple indices. i have written below code:

SearchRequest searchRequest = new SearchRequest("indexA","indexB");  
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();  
MultiMatchQueryBuilder operator = QueryBuilders.multiMatchQuery("searchString", "column1\_From\_IndexA", "column2\_From\_IndexA","column1\_From\_IndexB")  
.operator(Operator.AND);

i think i am doing something wrong.

please suggest, how the search can be performed

---

<div class="post-metadata">

**Author:** ![DKuntal007](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dkuntal007/32/46872_2.png) [@DKuntal007](https://discuss.elastic.co/u/DKuntal007)\
**Post date:** [March 30, 2020, 10:15am UTC](https://discuss.elastic.co/t/multiple-index-search-java/225643/2 "2020-03-30T10:15:53Z")

</div>

QueryStringQueryBuilder is used to search string where as MultiMatchQueryBuilder/MatchQueryBuilder is used to match the exact value in the specific field, if exact match is there then and only you will get document. Whereas QueryStringQueryBuilder provides search operation you can perform search operation here.

So first decide, do you want exact match or want to search string ?

Could you try this for the search operation ?

```auto
SearchRequest searchRequest = new SearchRequest("indexA","indexB");

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

/**
* Multi fields to be searched in
*/
Map<String,Float> fields = new HashMap<String, Float>();
fields.put("column1_From_IndexA", 0.0F);
fields.put("column2_From_IndexA", 0.0F);
fields.put("column1_From_IndexB", 0.0F);

QueryStringQueryBuilder builder = QueryBuilders.queryStringQuery("searchString").fields(fields);
searchSourceBuilder.query(builder);

searchRequest.source(searchSourceBuilder);

SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);

```

This may helpful, thank you.

---

<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:** [April 27, 2020, 10:15am UTC](https://discuss.elastic.co/t/multiple-index-search-java/225643/3 "2020-04-27T10:15:55Z")

</div>

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