I think the following will be much clearer:

```
.addMapping("fact", "_routing", "required=true,path=routing_id", "routing_id", "type=string,index=not_analyzed", "factCategory", "type=integer,index=not_analyzed", "description", "type=string,index=analyzed")
```
Also note in the above... all fields are lowercased and underscore separated, I know it sounds way too pedantic, but it's a common practice in elasticsearch in general... the preferred formatting is lowercase and underscore separator (not camelcasing)