Why sorted by an integer field,then some result throwed exception

Hi,
I have a type :
{"column":{"properties":{"STATUS_STOP":{"type":"long"},"STATUS_USE":{"type":"long"},"alis":{"type":"string"},"comment":{"properties":{"audit":{"type":"string"},"enable":{"type":"string"}}},"content":{"type":"string"},"dataSource":{"type":"string"},"deivceType":{"type":"string"},"description":{"type":"string"},"deviceType":{"type":"string"},"dms_position":{"type":"long"},"homePage":{"type":"string"},"name":{"type":"string"},"newestPeriod":{"type":"string"},"parent":{"type":"string"},"parentPath":{"type":"string"},"position":{"type":"integer"},"status":{"type":"long"},"template":{"type":"string"},"thumbnail":{"type":"string"},"type":{"type":"string"}}}}
there is an integer field call "position",sometimes sorted by this field that some result throwed "NumberFormatException[Invalid shift value in prefixCoded bytes (is encoded value really an INT?".The first time I found there is another mapping had the "position" field but type is string, I change another mapping to solve the problem, but soon, I found the problem second time, and I can't find how to solve it.I checked the result that the value of "position" is 0, but the exception said the value is long type, why?

Thanks!