Index=not_analyzed Vs analyser=keyword

Since I know my data well enough, I am trying to create a mapping upfront for my index
The field type am talking is string.

Here is a snippet of the mapping I am trying

PUT my_index
  "mappings": {
    "emp_type": {
      "properties": {
        "name": {
          "type": "string"

I want to be able to query my index by the name, as is. I don't want any analysis to be performed.
For example if my name is "foo Bar", I want to be able to query only by "foo Bar".
Not sure how index=not_analyzed will be different from analyser=keyword in this case.

they are almost the same