# Javascript convert query string to Query DSL

**URL:** <https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927>\
**Category:** Kibana\
**Created:** [February 11, 2019, 9:11pm UTC](https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927 "2019-02-11T21:11:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bbking](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bbking/32/77563_2.png) [@bbking](https://discuss.elastic.co/u/bbking)\
**Post date:** [February 11, 2019, 9:11pm UTC](https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927/1 "2019-02-11T21:11:46Z")

</div>

Hi, is there a way to convert a user input string to Query DSL in Node? I notice that searchBar in ElasticUI framework can convert a string to Query DSL object. I'm wondering whether there is a way to convert an input string to DSL object on server side. Thanks in advance!

Example:  
User input: `a reason:b`  
Converted Query DSL:

```auto
{
  "bool": {
    "must": [
      {
        "simple_query_string": {
          "query": "a"
        }
      },
      {
        "match": {
          "reason": {
            "query": "b",
            "operator": "and"
          }
        }
      }
    ]
  }
}

```

---

<div class="post-metadata">

**Author:** ![bhavyarm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bhavyarm/32/22392_2.png) [@bhavyarm](https://discuss.elastic.co/u/bhavyarm)\
**Post date:** [February 18, 2019, 5:26pm UTC](https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927/2 "2019-02-18T17:26:16Z")

</div>

@Bargs can we please get some help?

Thanks,  
Bhavya

---

<div class="post-metadata">

**Author:** ![Bargs](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bargs/32/5429_2.png) [@Bargs](https://discuss.elastic.co/u/Bargs)\
**Post date:** [February 19, 2019, 11:42pm UTC](https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927/3 "2019-02-19T23:42:02Z")

</div>

The best way to do this is with our new KQL language (referred to as kuery in the code). You can find the tools for parsing it and generating ES queries here: [https://github.com/elastic/kibana/blob/8a83955650432e977d1d75adaab0aa4638cefe8a/packages/kbn-es-query/README.md#kuery](https://github.com/elastic/kibana/blob/8a83955650432e977d1d75adaab0aa4638cefe8a/packages/kbn-es-query/README.md#kuery)

---

<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 19, 2019, 11:49pm UTC](https://discuss.elastic.co/t/javascript-convert-query-string-to-query-dsl/167927/4 "2019-03-19T23:49:56Z")

</div>

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