# Query with match and wildcard

**URL:** https://discuss.elastic.co/t/query-with-match-and-wildcard/187325
**Category:** Elasticsearch
**Created:** [June 25, 2019, 12:13pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325 "2019-06-25T12:13:45Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![kay-is](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@kay-is](https://discuss.elastic.co/u/kay-is)
#### Post date: [June 25, 2019, 12:13pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/1 "2019-06-25T12:13:45Z")

</div>

I have some tagged images in my Elasticsearch and want to query them with a wildcard and an exact match.

```auto
POST images/image
{
  "fileName": "1319410514097402934+test",
  "tags": ["someTag", "someOtherTag"]
}
POST images/_search
{
  "query": {
    "bool": {
      "must": { "wildcard": { "fileName": "*test" },
      "filter": { "match": { "tags": ["someTag"] } }
    }
  }
}

```

But I'm getting the following error:

```auto
{
  "type": "illegal_state_exception",
  "reason": "Can't get text on a START_ARRAY at 1:79"
}

```

How do I fix this?

---

<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: [June 25, 2019, 1:18pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/2 "2019-06-25T13:18:56Z")

</div>

Try this:

```auto
POST images/_search
{
  "query": {
    "bool": {
      "must": [{ "wildcard": { "fileName": "*test" }],
      "filter": [{ "match": { "tags": ["someTag"] } }]
    }
  }
}

```

BTW this is scary to run: `{ "wildcard": { "fileName": "*test" }`. Unless you like slow queries, don't do that.

---

<div class="post-metadata">

### Author: ![kay-is](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@kay-is](https://discuss.elastic.co/u/kay-is)
#### Post date: [June 25, 2019, 1:32pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/3 "2019-06-25T13:32:59Z")

</div>

Thanks, I will try this 🙂

> BTW this is scary to run: `{ "wildcard": { "fileName": "*test" }` . Unless you like slow queries, don't do that.

What should I do instead?

---

<div class="post-metadata">

### Author: ![kay-is](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@kay-is](https://discuss.elastic.co/u/kay-is)
#### Post date: [June 26, 2019, 2:35pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/4 "2019-06-26T14:35:40Z")

</div>

Your query didn't work. 🙁

I'm still getting the array error:

```
{
    "type": "illegal_state_exception",
    "reason": "Can't get text on a START_ARRAY at 1:82"
}

```

Sent this:

```auto
{
    "query": {
        "bool": {
            "must": [
                {
                    "wildcard": {
                        "fileName": "*test"
                    }
                }
            ],
            "filter": [
                {
                    "match": {
                        "tags": [
                            "no"
                        ]
                    }
                }
            ]
        }
    }
}

```

---

<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: [June 26, 2019, 3:18pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/5 "2019-06-26T15:18:12Z")

</div>

The match query is incorrect.

```auto
GET _search
{
  "query": {
    "bool": {
      "must": [
        {
          "wildcard": {
            "fileName": "*test"
          }
        }
      ],
      "filter": [
        {
          "match": {
            "tags": "no"
          }
        }
      ]
    }
  }
}

```

---

<div class="post-metadata">

### Author: ![kay-is](https://avatars.discourse-cdn.com/v4/letter/k/f0a364/32.png) [@kay-is](https://discuss.elastic.co/u/kay-is)
#### Post date: [June 26, 2019, 3:31pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/6 "2019-06-26T15:31:51Z")

</div>

I see, so I "have to" use `"tags": "no"` for one value in the array and `"tags": ["no", "people"]` for multiple ones?

---

<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: [June 26, 2019, 3:47pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/7 "2019-06-26T15:47:06Z")

</div>

Multiple match queries I'd say.

---

<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 24, 2019, 3:47pm UTC](https://discuss.elastic.co/t/query-with-match-and-wildcard/187325/8 "2019-07-24T15:47:06Z")

</div>

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