# ElasticSearch-6.8 - querying with hyphens in fields does not get results

**URL:** <https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467>\
**Category:** Elasticsearch\
**Created:** [September 15, 2022, 2:21am UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467 "2022-09-15T02:21:26Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![spp125](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spp125/32/110906_2.png) [@spp125](https://discuss.elastic.co/u/spp125)\
**Post date:** [September 15, 2022, 2:21am UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/1 "2022-09-15T02:21:26Z")

</div>

I have a users index in that there is a field called groupName that have value like "ad-users" when I query to match how many users belong to "ad-users" groupName. Upon querying to match on groupName I got no results. Here is my query

```auto
{
  "bool": {
    "must": [
      {
        "query_string": {
          "query": "*",
          "default_operator": "OR"
        }
      },
      {
        "term": {
          "isServiceAccount": false
        }
      },
      {
        "match": {
          "memberOf.groupName": "ad-users"
        }
      }
    ]
  }
}

```

Please guide me on what I am doing wrong?

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [September 15, 2022, 5:37am UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/2 "2022-09-15T05:37:21Z")

</div>

Welcome to our community! 😃

How is that field mapped?  
Also please be aware that 6.8 is [EOL](https://www.elastic.co/support/eol) and you should be looking to upgrade ASAP.

---

<div class="post-metadata">

**Author:** ![spp125](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spp125/32/110906_2.png) [@spp125](https://discuss.elastic.co/u/spp125)\
**Post date:** [September 15, 2022, 12:53pm UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/3 "2022-09-15T12:53:10Z")

</div>

Thank you for your warm welcome.  
Upgrading to latest version is in pipeline.

groupName field mapping is like this

```auto
 "groupName": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256.0
                }
              }
            },

```

Thank you

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [September 15, 2022, 1:19pm UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/4 "2022-09-15T13:19:47Z")

</div>

> [@spp125](#):
>
> there is a field called group that have value like "ad-user"

> [@spp125](#):
>
> `"memberOf.groupName": "ad-users"`

Seems a bit inconsistent (`ad-user` vs `ad-users`). Can you show a sample document you expect to match?

---

<div class="post-metadata">

**Author:** ![spp125](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spp125/32/110906_2.png) [@spp125](https://discuss.elastic.co/u/spp125)\
**Post date:** [September 15, 2022, 2:05pm UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/5 "2022-09-15T14:05:18Z")

</div>

Hi Chris,

I have edited the post to be consistent. Sorry for any confusion.

```auto
{
    "_source": {
        "firstName": "Mike",
        "lastName": "Bankert",
        "name": "Mike Bankert",
        "memberOf": [
            {
                "groupName": "ad-users"
            }
        ]
    }
}

```

Above is one of document, but I have more users in my index.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [September 15, 2022, 2:18pm UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/6 "2022-09-15T14:18:20Z")

</div>

That document does not have the `isServiceAccout` field, so should not match the query.

---

<div class="post-metadata">

**Author:** ![spp125](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spp125/32/110906_2.png) [@spp125](https://discuss.elastic.co/u/spp125)\
**Post date:** [September 15, 2022, 2:37pm UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/7 "2022-09-15T14:37:21Z")

</div>

Hi,

The document I mention above is one of the many users. That doc does not have isServiceAccount field but there are many others docs which have isServiceAccount .

---

<div class="post-metadata">

**Author:** ![ropc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ropc/32/47022_2.png) [@ropc](https://discuss.elastic.co/u/ropc)\
**Post date:** [September 18, 2022, 2:08am UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/8 "2022-09-18T02:08:17Z")

</div>

`memberOf.groupName` is a multi-field and if you use `memberOf.groupName`, it is of type `text`. The default analyser being used is the [standard analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html) which removes punctuation (so the `-` character is being removed during tokenisation). You can verify the same by using the [analyze API](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-analyze.html). For example:

```auto
GET /_analyze
{
  "analyzer" : "standard",
  "text" : "ad-users"
}

```

If you want to perform an exact match, then you will need to use `memberOf.groupName.keyword` (`keyword` fields are not analysed). Otherwise, you will need to use a different analyser to meet your requirements.

---

<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:** [October 16, 2022, 2:08am UTC](https://discuss.elastic.co/t/elasticsearch-6-8-querying-with-hyphens-in-fields-does-not-get-results/314467/9 "2022-10-16T02:08:34Z")

</div>

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