# Search field containing punctuation with partial query

**URL:** <https://forum.opensearch.org/t/search-field-containing-punctuation-with-partial-query/9790>\
**Category:** OpenSearch\
**Tags:** troubleshoot\
**Created:** [June 1, 2022, 12:27pm UTC](https://forum.opensearch.org/t/search-field-containing-punctuation-with-partial-query/9790 "2022-06-01T12:27:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_tobihans](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.opensearch.org/_tobihans/32/3377_2.png) [@\_tobihans](https://forum.opensearch.org/u/_tobihans)\
**Post date:** [June 1, 2022, 12:27pm UTC](https://forum.opensearch.org/t/search-field-containing-punctuation-with-partial-query/9790/1 "2022-06-01T12:27:22Z")

</div>

I hope you’re fine. I’m pretty new to OpenSearch.

I have an index with a field containing dots. When searching using `query_string`, I can get results only if I enter the whole word or value for the field.

What I’m trying to achieve is to be able to enter something like `csdp` and get records with `csdp.worker` as the value for my field, match, for example.

Below are my index mapping and the query I’m using:

```auto
{
  "csdp" : {
    "mappings" : {
      "properties" : {
        "datetime" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "emitter" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        },
        "log" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword",
              "ignore_above" : 256
            }
          }
        }
      }
    }
  }
}

```

```auto
{
  "query": {
    "query_string": {
      "query": "emitter:async"
    }
  }
}

```

The request above will have no records matching, but replacing with `async.ussd` (as indexed) gives results.

By searching, I found this could be related to the field type or analyzer used for the field (`emitter` here) but I don’t really know what to do.

Any advice or documentation to help me could be very useful.  
Thank you.
