2017-10-24 5 views
0

나는 유형에 대한 다음의 동적 템플릿을 가지고NUMBER_TYPE에 대한 일치하는 토큰 없음 [BIG_INTEGER] float로서 많은 수의 저장하려고 할 때

"dynamic_templates" : [ 
     { 
     "$r_as_float" : { 
      "match" : "*$r", 
      "mapping" : { 
      "type" : "float" 
      } 
     } 
     } 
    ] 

나는 새로운 문서를 만들려고 할 때 :

curl -XPOST es-1:9200/mydataspace_001001/type/276121/_create -d ' 
{ 
    "kbk$r": 17404121130190019244, 
} 

I을 다음 오류 받기 :

{"type":"illegal_state_exception","reason":"No matching token for number_type [BIG_INTEGER]"} 

예를 들어 "kbk$r": 17404과 같은 오류가 발생하지 않습니다.

답변

1

float은 단 정밀도 32 비트 IEEE 754 부동 소수점을 사용할 수 있으며 17404121130190019244는 한계를 넘을 수 있습니다.

float 대신 double 또는 long 유형을 사용해야합니다. 귀하의 처분에 different numeric types을 참조하십시오.

+0

고맙습니다. 나는 JavaScript를 사용하고이 번호에'''Number.prototype.toExponential()'''을 적용하여 문제를 해결했다. – FiftiN

+0

괜찮지 만 결국 과학적 지수를 얻게 될 것입니다. – Val

+0

나를 위해 작동합니다. 이 번호에 모든 자릿수를 저장할 필요가 없습니다. – FiftiN