# Java api elastic text search help

**URL:** https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626
**Category:** Elasticsearch
**Created:** [February 7, 2012, 7:49pm UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626 "2012-02-07T19:49:44Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![steam](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@steam](https://discuss.elastic.co/u/steam)
#### Post date: [February 7, 2012, 7:49pm UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/1 "2012-02-07T19:49:44Z")

</div>

Hello,  
Please help me construct by java api elastic text search.  
I have search like

SearchRequestBuilder searchRequestBuilder = client.prepareSearch("items")  
.setSearchType(SearchType.DFS\_QUERY\_THEN\_FETCH);

```
QueryBuilder queryBuilder = boolQuery()
    	.should(termQuery("title", searchText))
    	.should(termQuery("description", searchText));
searchRequestBuilder.setQuery(queryBuilder);

```

when i put on searchText only one word its search well but if i put two words i dont get any result. Should i separate on searchText every word and append to termQuery? Or write something like QueryBuilders.queryString(“title:test or test2”) ?  
Thanks to advise.

---

<div class="post-metadata">

### Author: ![Karussell1](https://avatars.discourse-cdn.com/v4/letter/k/50afbb/32.png) [@Karussell1](https://discuss.elastic.co/u/Karussell1)
#### Post date: [February 7, 2012, 8:01pm UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/2 "2012-02-07T20:01:03Z")

</div>

You can use the normal text query or the queryString query which you  
have already mentioned and which supports more advanced features but  
is probably not suited for normal "search box inputs".

Peter.

On 7 Feb., 20:49, steam [grandebu...@gmail.com](mailto:grandebu...@gmail.com) wrote:

> Hello,  
> Please help me construct by java api elastic text search.  
> I have search like
> 
> SearchRequestBuilder searchRequestBuilder = client.prepareSearch("items")  
> .setSearchType(SearchType.DFS\_QUERY\_THEN\_FETCH);
> 
> ```
> QueryBuilder queryBuilder = boolQuery()
> .should(termQuery("title", searchText))
> .should(termQuery("description", searchText));
> searchRequestBuilder.setQuery(queryBuilder);
> 
> ```
> 
> when i put on searchText only one word its search well but if i put two  
> words i dont get any result. Should i separate on searchText every word and  
> append to termQuery? Or write something like  
> QueryBuilders.queryString(“title:test or test2”) ?  
> Thanks to advise.
> 
> --  
> View this message in context:[http://elasticsearch-users.115913.n3.nabble.com/java-api-elastic-text](http://elasticsearch-users.115913.n3.nabble.com/java-api-elastic-text)...  
> Sent from the Elasticsearch Users mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

### Author: ![steam](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@steam](https://discuss.elastic.co/u/steam)
#### Post date: [February 7, 2012, 8:12pm UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/3 "2012-02-07T20:12:02Z")

</div>

Thanks for replying.  
But what the best method to apply for normal "search box" ?  
Can you give some example please ?

---

<div class="post-metadata">

### Author: ![MikeNereson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mikenereson/32/2632_2.png) [@MikeNereson](https://discuss.elastic.co/u/MikeNereson)
#### Post date: [February 7, 2012, 9:31pm UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/4 "2012-02-07T21:31:30Z")

</div>

I am setting my analyzer to "simple"

QueryBuilder queryBuilder =  
queryString(term)  
.useDisMax(true)

.defaultOperator(QueryStringQueryBuilder.Operator.OR)  
.analyzer("simple")  
.addField("x",x")  
.addField("x",x");

I don't know if simple is the correct analyzer to use, but look at the  
changing your analyzer.

---

<div class="post-metadata">

### Author: ![steam](https://avatars.discourse-cdn.com/v4/letter/s/3d9bf3/32.png) [@steam](https://discuss.elastic.co/u/steam)
#### Post date: [February 8, 2012, 9:53am UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/5 "2012-02-08T09:53:37Z")

</div>

Ok, i will try it. Thanks  
: )

2012/2/7 MikeNereson [via Elasticsearch Users]  
[ml-node+s115913n3724021h45@n3.nabble.com](mailto:ml-node+s115913n3724021h45@n3.nabble.com):

> I am setting my analyzer to "simple"
> 
> QueryBuilder queryBuilder =  
> queryString(term)  
> .useDisMax(true)
> 
> .defaultOperator(QueryStringQueryBuilder.Operator.OR)  
> .analyzer("simple")  
> .addField("x",x")  
> .addField("x",x");
> 
> I don't know if simple is the correct analyzer to use, but look at the  
> changing your analyzer.
> 
> * * *
> 
> If you reply to this email, your message will be added to the discussion  
> below:  
> [http://elasticsearch-users.115913.n3.nabble.com/java-api-elastic-text-search-help-tp3723672p3724021.html](http://elasticsearch-users.115913.n3.nabble.com/java-api-elastic-text-search-help-tp3723672p3724021.html)  
> To unsubscribe from java api elastic text search help, click here.  
> NAML

---

<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, 3:40am UTC](https://discuss.elastic.co/t/java-api-elastic-text-search-help/6626/6 "2017-07-06T03:40:08Z")

</div>


