Problems with an Id with a number sign

Hello,
I have a document with a number sign (#) at the end of its Id.
It makes some problems.
I tried to delete it inside Kibana but no success.
43%20PM

Also, I tried with Java High-Level REST Client but again no success. the client delete number sign from Id before sending the request.
here is the DeleteResponse
56%20PM

ElasticSearch version = 6.2.3

Is it a bug?

The # sign is a reserved character in URLs, hence you need to URL-encode it (with %23) if you want to keep it at the end of your id.

# without URL-encoding
PUT channels/channel/vakilimotlagh#
{ "field1": 1 }

# with URL-encoding
PUT channels/channel/vakilimotlagh%23
{ "field2": 2 }

Then you'll see that the # is preserved in the latter document but not the former

GET channels/_search

Response:

  "hits": {
    "total": 2,
    "max_score": 1,
    "hits": [
      {
        "_index": "channels",
        "_type": "channel",
        "_id": "vakilimotlagh",
        "_score": 1,
        "_source": { "field1": 1 }
      },
      {
        "_index": "channels",
        "_type": "channel",
        "_id": "vakilimotlagh#",
        "_score": 1,
        "_source": { "field2": 2 }
      }
    ]
  }
}

Note, however, that the URL-encoding is only necessary if you want to use the # sign within an URL, if you were to create your document via the _bulk API, you wouldn't need to URL-encode it. THe following would work perfectly fine and preserve the # sign in the ID.

PUT channels/channel/_bulk
{"index": {"_id": "vakilimotlagh#" }}
{...}

Thank you so much, It's works,

Perfect, I'm glad it works for you!