2016-04-23 79 views
0

我想从mysql导入elasticsearch使用elasticsearch-jdbc jprante。问题是table-x中的某些字段包含json数据,但是当jdbc导出到elasticsearch时,它会使其嵌套属性。我只是想它出口,这是字符串。elasticsearch jdbc导入数据包含json

例如

table x 
id|name  |field_contain_json 
pk|varchar(20)|varchar(1000) 

出口后的结果(基于/索引/ _mapping):

{ 
    "tbl_perseroan": { 
    "mappings": { 
     "tbl_perseroan": { 
     "properties": { 
      "field_contain_json": { 
      "properties": { 
       "sub_field_1": { 
       "type": "string" 
       }, 
       "sub_field_2": { 
       "type": "string" 
       }, 
       "sub_field_3": { 
       "type": "string" 
       }, 
       "sub_field_4": { 
       "type": "string" 
       } 
      } 
      }, 
      "name": { 
      "type": "string" 
      } 
     } 
     } 
    } 
    } 
} 

相反,我想要的结果就像这样:

{ 
    "tbl_perseroan": { 
    "mappings": { 
     "tbl_perseroan": { 
     "properties": { 
      "field_contain_json": { 
      "type":"string" 
      }, 
      "name": { 
      "type": "string" 
      } 
     } 
     } 
    } 
    } 
} 

有什么办法可以达到这个目的吗?

+0

你可以用'detect_json:false'获得的错误更新你的问题吗? – Val

回答

0

我用detect_json为false做了false。但现在问题是utf编码超过最大长度32766