是否有一种方法可以配置ElasticSearch以接受更新的JSON规范?
为了在ElasticSearch中进行索引,我需要用JSON表示正数、负号和无符号数。
例如:
[
{ "confidence": 0},
{ "confidence": 0.417763},
{ "confidence": -0.296771},
]RFC 7158将支持这一点:
minus = %x2D ; -
plus = %x2B ; +
zero = %x30 ; 0我找不到这方面的配置,所以我有一个解决办法。将每个名为“置信度”的字段转换为
json模式似乎在PUT映射中被接受。
{
"$schema": "http://json-schema.org/schema#",
"mappings": {
...
}
{
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "bakeoff-rfc"
}我正在使用ES 6.2.2,这是我的云提供商支持的最新版本。
发布于 2018-06-27 03:47:33
您可以做的是将您的信任字段映射为float或double,然后在源文档中将它们添加为字符串。
创建如下索引映射:
PUT rfc7158
{
"mappings": {
"doc": {
"properties": {
"confidence": {
"type": "float"
}
}
}
}
}然后像这样添加数据,就不会出现错误:
POST rfc7158/doc/_bulk
{ "index": {}}
{ "confidence": "0" }
{ "index": {}}
{ "confidence": "-0.296771" }
{ "index": {}}
{ "confidence": "+0.8723734" }
{ "index": {}}
{ "confidence": "0.7672323" }运行以下聚合时,您将看到+0.8723734是最大的,-0.296771是预期的min
POST rfc7158/_search
{
"size": 0,
"aggs": {
"minconfidence": {
"min": {
"field": "confidence"
}
},
"maxconfidence": {
"max": {
"field": "confidence"
}
}
}
}https://stackoverflow.com/questions/51050392
复制相似问题