使用PHP API为Elasticsearch设置not_analyzed字段

so I am getting data from SQL and using PHP API to send bulk data to elastic but elastic is taking apart all my terms in the string value fields. I am trying to set the indices to not_analyzed while doing the initial sending but It doesnt seem to be working.

Please help if you can, thanks.

By default, the strings in ES are analyzed, so you need to mapping the index and say what fields especifically do you want to not be analyzed. full doc here.

for example

{
  "tag": {
    "type":     "string",
    "index":    "not_analyzed"
  }
}

So, when you upload data to that index, the field tag will not be analyzed. Check if the fields set as not_analyzed in your index are matching with the fields that you are uploading the data, could be that their are not the same and the why their are being analyzed.

If you want set by default the string not analyze, check Disabling field analyzing by default in elastic search