# Plugin dev - callWithRequest multi\_match query

**URL:** <https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536>\
**Category:** Kibana\
**Created:** [May 20, 2020, 12:42pm UTC](https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536 "2020-05-20T12:42:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kaj\_Noppen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kaj_noppen/32/68731_2.png) [@Kaj\_Noppen](https://discuss.elastic.co/u/Kaj_Noppen)\
**Post date:** [May 20, 2020, 12:42pm UTC](https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536/1 "2020-05-20T12:42:15Z")

</div>

Hi all,

I'm trying to get started on a Kibana plugin.

I have managed to setup some simple data entry form and display the results in a table. However, I'm trying to perform a multi\_match query with callWithRequest, but I don't see what is wrong. Perhaps you have some pointers..

```
resp = await callWithRequest(req, 'search', {
  index: 'test-index',
  size: 10,
  body: {
    query: {
      match: {
        message: { query }
      }
    }
  }
  }

)

```

Is working just fine, but now I want to edit the query to perform a multi\_match on all fields in the index (Expensive query, I know).

I figured since the 'reqular 'query is:  
`"query": { "multi_match" : { "query": "searchthis", "fields": ["*"] } }`

I could rewrite the code to:

```
resp = await callWithRequest(req, 'search', {
  index: 'test-index',
  size: 10,
  body: {
    query: {
      multi_match: {
        query: { query },
          fields: ["*"]
        }
       }
      }
    }

```

`  
But this is giving an error

> {"msg":"[parsing\_exception] [multi\_match] unknown token [START\_OBJECT] after [query], with { line=1 & col=34 }","path":"/test-index/\_search","query":{"size":10},"body":"{"query":{"multi\_match":{"query":{"query":"abcd"},"fields":["\*"]}}}","statusCode":400,"response":"{"error":{"root\_cause":[{"type":"parsing\_exception","reason":"[multi\_match] unknown token [START\_OBJECT] after [query]","line":1,"col":34}],"type":"parsing\_exception","reason":"[multi\_match] unknown token [START\_OBJECT] after [query]","line":1,"col":34},"status":400}"}

I can't seem to figure out why this is not working.. Any tips?

---

<div class="post-metadata">

**Author:** ![rudolf](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rudolf/32/51200_2.png) [@rudolf](https://discuss.elastic.co/u/rudolf)\
**Post date:** [June 16, 2020, 9:39pm UTC](https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536/2 "2020-06-16T21:39:30Z")

</div>

This:

> [@Kaj\_Noppen](#):
>
> `query: { query },`

will result in:

```auto
query: {query: value_of_query_variable}

```

I believe what you need is:

```auto
resp = await callWithRequest(req, 'search', {
  index: 'test-index',
  size: 10,
  body: {
    query: {
      multi_match: {
        query,
        fields: ["*"]
       }
     }
  }
}

```

---

<div class="post-metadata">

**Author:** ![Kaj\_Noppen](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kaj_noppen/32/68731_2.png) [@Kaj\_Noppen](https://discuss.elastic.co/u/Kaj_Noppen)\
**Post date:** [June 19, 2020, 9:44am UTC](https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536/3 "2020-06-19T09:44:34Z")

</div>

Thanks! This actually makes sense now as well.

I had put this functionality aside for the time being, but works flawless! Sometimes you just get stuck and dont see what's what.

---

<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 17, 2020, 9:44am UTC](https://discuss.elastic.co/t/plugin-dev-callwithrequest-multi-match-query/233536/4 "2020-07-17T09:44:43Z")

</div>

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