# Search in substring

**URL:** <https://discuss.elastic.co/t/search-in-substring/107917>\
**Category:** Elasticsearch\
**Created:** [November 16, 2017, 11:37am UTC](https://discuss.elastic.co/t/search-in-substring/107917 "2017-11-16T11:37:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![aneesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aneesh/32/37819_2.png) [@aneesh](https://discuss.elastic.co/u/aneesh)\
**Post date:** [November 16, 2017, 11:37am UTC](https://discuss.elastic.co/t/search-in-substring/107917/1 "2017-11-16T11:37:41Z")

</div>

aaaghh  
defagee  
ccacc  
aaa agh  
ddgdd  
rarrgrr  
bbbaghjj

I have these values in Name column. I need to get only strings contains "ag". How can I implement it in elasticsearch?

```
GET /student/_search
    {
                  "from": 0,
                  "size": 1000,
                  "query": {
                      "bool": {
                         "must": [
                             { 
                                  "match_phrase_prefix": {
                                        "Name": "*ag*"
                                  }
                              }
                        ]
                      }
             }
        }

```

The query is giving only "aaa agh" as result. I think match prefix will return only those strings starts with pattern(words). Is there any other query?

---

<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:** [November 16, 2017, 11:49am UTC](https://discuss.elastic.co/t/search-in-substring/107917/2 "2017-11-16T11:49:29Z")

</div>

Please format your code using `</>` icon as explained in [this guide](https://discuss.elastic.co/t/about-the-elasticsearch-category/21). It will make your post more readable.

Or use markdown style like:

````
```
CODE
```

````

I’d look at ngrams for that.

---

<div class="post-metadata">

**Author:** ![aneesh](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/aneesh/32/37819_2.png) [@aneesh](https://discuss.elastic.co/u/aneesh)\
**Post date:** [November 22, 2017, 9:53am UTC](https://discuss.elastic.co/t/search-in-substring/107917/4 "2017-11-22T09:53:23Z")

</div>

Hi

Can u just check

> [@Search in substring](https://discuss.elastic.co/t/search-in-substring/107917):
>
> aaaghh defagee ccacc aaa agh ddgdd rarrgrr bbbaghjj I have these values in Name column. I need to get only strings contains "ag". How can I implement it in elasticsearch? GET /student/\_search { "from": 0, "size": 1000, "query": { "bool": { "must": [ { "match\_phrase\_prefix": { "Name"…

Thanks  
Aneesh

---

<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:** [November 22, 2017, 10:07am UTC](https://discuss.elastic.co/t/search-in-substring/107917/5 "2017-11-22T10:07:55Z")

</div>

I already answered I think with [Search in substring - #2 by dadoonet](https://discuss.elastic.co/t/search-in-substring/107917/2)

> I’d look at ngrams for that.

---

<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:** [December 20, 2017, 10:07am UTC](https://discuss.elastic.co/t/search-in-substring/107917/6 "2017-12-20T10:07:56Z")

</div>

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