Not Analyzed Field jdbc river

I am trying to make some field not analyzed in jdbc river but this code doesn't seem to work:

PUT /_river/performance/_meta
{
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:postgresql://localhost:5432/testdb",
        "user" : "test",
        "password" : "test#",
        "locale" : "en_US",
        "sql" : "SELECT * from test",
       "elasticsearch" : {
             "cluster" : "realtime",
             "host" : "localhost",
             "port" : 9300
        },
        "index" : "performance",
        "type" : "perf1",
         "schedule": "0 0/1 * * * ?",
        "index_settings" : {
            "index" : {
                "number_of_shards" : 1
            }
        },
        "type_mapping": {
		 "perf1" : {
                  "properties" : {
                       "bsc" : { 
                            "type" : "string",
                            "index" : "not_analyzed"
                       }                       
                  }
              }
            
        }
    }
}

Is my mapping not correct?

I read somewhere that Rivers are being Deprecated, I have not read up on rivers to be much help with your configuration.
You may want to just create a template separate from your config.

I put mine in the ES_HOME/conf/templates/name.json

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

Also you might have an "Order" issue where another template has , check to see what the template is being applied to your index

Hope this helps you

As i need to pull data from rdbms i don't have other alternative than rivers which are simple. I have not made template yet. I think the mapping type should have done the magic as I have other geo field which works.