change analyzer for an elasticsearch index?
It turns out that you can't do what I want to.  The correct answer is:


Create a new index with the mapping you want
Use "reindex" to copy the data from the old index to the new one
Drop the old index, but create an alias with the name of the old index that points to the new index (because ElasticSearch does not allow you to rename an index.)


So in detail


Create a new index with the mapping you want



POST /ccc_test_new
{
  "mappings": {
    "test_article": {
      "properties": {
        "id": {
          "type": "text"
        },
        "language": {
          "type": "text"
        },
        "text": {
          "type": "text"
        },
        "title": {
          "type": "text"
        },
        "url": {
          "type": "keyword"
        }
      }
    }
  }
}



Use "reindex" to copy the data from the old index to the new one



POST /_reindex
"""{
  "source" : {
    "index" : "ccc_test"
  },
  "dest" : {
    "index" : "ccc_test_new",
    "version_type" : "external"
  }
}



Drop the old index, but create an alias with the name of the old index that points to the new index



POST /_aliases
{
    "actions" : [
      {
        "add" : {
          "index" : "ccc_test_new",
          "alias" : "ccc_test"
        }
      },
    {
        "remove_index" : {
          "index": "ccc_test"
      }
    }
  ]
}