# Multiple Exact searches

**URL:** <https://discuss.elastic.co/t/multiple-exact-searches/28624>\
**Category:** Elasticsearch\
**Created:** [September 3, 2015, 3:41pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624 "2015-09-03T15:41:38Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Malini](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@Malini](https://discuss.elastic.co/u/Malini)\
**Post date:** [September 3, 2015, 3:41pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624/1 "2015-09-03T15:41:39Z")

</div>

I want to execute multiple exact searches along with AND/OR operator.  
For example search exact searche for "cloud computing" AND "cloud security".  
What kind of query to use?

I am trying the following java api which is not working. Any suggestions would be appreciated.  
srb = client.prepareSearch("index1");  
QueryBuilder qb1 = (QueryBuilder) QueryBuilders.queryString("""+ searchText1+ """).field("content");  
QueryBuilder qb2 = (QueryBuilder) QueryBuilders.queryString("""+ searchText2+ """).field("content");  
qb = boolQuery.should(qb1).should(qb2);  
srb.setQuery((org.elasticsearch.index.query.QueryBuilder) qb);

SearchResponse functionResponse = srb.setFrom(searchStart).setSize(searchForm.getResultsPerPage()).execute().actionGet();

---

<div class="post-metadata">

**Author:** ![mikemccand](https://avatars.discourse-cdn.com/v4/letter/m/f04885/32.png) [@mikemccand](https://discuss.elastic.co/u/mikemccand)\
**Post date:** [September 3, 2015, 4:50pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624/2 "2015-09-03T16:50:10Z")

</div>

If both of your sub-queries (the phrase queries) are required then you should use boolQuery.must instead of boolQuery.should?

---

<div class="post-metadata">

**Author:** ![Malini](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@Malini](https://discuss.elastic.co/u/Malini)\
**Post date:** [September 3, 2015, 7:23pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624/3 "2015-09-03T19:23:35Z")

</div>

I modified to queryString since i need to search from more than one fields. This works. Thanks for your response.

QueryBuilder qb1 = (QueryBuilder) QueryBuilders.queryString("""+ searchText1+ """).field("content").field("titlefield.title");  
QueryBuilder qb2 = (QueryBuilder) QueryBuilders.queryString("""+ searchText2+ """).field("content").field("titlefield.tile");  
qb = boolQuery.must(qb1).must(qb2);

---

<div class="post-metadata">

**Author:** ![Malini](https://avatars.discourse-cdn.com/v4/letter/m/f05b48/32.png) [@Malini](https://discuss.elastic.co/u/Malini)\
**Post date:** [September 3, 2015, 7:25pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624/4 "2015-09-03T19:25:44Z")

</div>

I want to have "OR" and "NOT" query. I want to search for searchtext1 or serachtest2 from multiple fields. How can I achieve this?

---

<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:52pm UTC](https://discuss.elastic.co/t/multiple-exact-searches/28624/5 "2017-07-05T23:52:10Z")

</div>


