Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Elasticsearch非法映射位置数组

Elasticsearch非法映射位置数组
EN

Stack Overflow用户
提问于 2020-03-16 14:23:08
回答 1查看 46关注 0票数 1

我想在我的数据集上使用elasticsearch执行地理位置查询,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{"index": {"_index": "city","_type":"city_info", "_id":0} }
{"fields": { "city" : "AGAWAM", 
             "loc" : [ -72.622739, 42.070206 ], 
             "pop" : 15338, "state" : "MA"},
             "id" : "01001" ,
             "type" : "add"}
...

我可以执行许多查询或聚合,没有任何问题,但当涉及到使用地理距离过滤器或任何在地理坐标上工作的查询时,它不起作用。下面是我的映射测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PUT /city/_mappings
{
  "properties": {
    "fields.loc": {
      "type": "geo_point"
    }
  }
}

我得到了这个错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "mapper [fields.loc] of different type, current_type [float], merged_type [geo_point]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "mapper [fields.loc] of different type, current_type [float], merged_type [geo_point]"
  },
  "status" : 400
}

所以看起来我的"fields.loc“是一个浮点数,而在JSON中它是一个带有浮点值的数组。我试着看看"loc“的实际类型是什么,它确实是一个浮动,我不明白为什么:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET /city/_mapping
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "city" : {
    "mappings" : {
      "properties" : {
        "fields" : {
          "properties" : {
            "city" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            },
            "loc" : {
              "type" : "float"
...

所以我不理解,或者更确切地说,我不知道如何将"loc“从一个浮点型修改为一个geo_point。由于我是elasticsearch的初学者,我只在cURL中使用了elasticsearch和kibana。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-16 14:55:29

一旦您隐式地将数据类型设置为float (通过批量同步,您可能已经这样做了),就很难将float转换为geo_points。我建议删除索引,使用geo_point数据类型设置正确的映射,然后重新同步所有内容。

如果您想深入了解,请看一下_reindex应用编程接口。这是一个quick tut。当您的系统在生产环境中运行时,您可能会遇到这种情况,在生产环境中,现在可以选择删除。

仅供参考,不推荐使用custom _doc类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60707709

复制
相关文章
css垂直居中怎么设置?文字上下居中和图片垂直居中
  css 居中分css垂直居中和css水平居中,水平居中平时比较常用,这里我们主要讲css上下居中的问题。垂直居中又分为css文字上下居中和css图片垂直居中,下面我们就分别来介绍一下。 css文字上下居中:一、单行内容的居中。只考虑单行是最简单的,无论是否给容器固定高度,只要给容器设置 line-height 和 height,并使两值相等,再加上 over-flow: hidden 就可以了。css代码为{height: 4em;line-height: 4em;overflow: hidden;}
ytkah
2018/03/06
7.6K0
水平居中和垂直居中
本章介绍几种常见的水平居中和垂直居中的实现方式 <!DOCTYPE html> <html> <head> <title>水平居中和垂直居中</title> <meta charset="utf-8"> </head> <style type="text/css"> .box { /* 在一个基础的盒子里面显示效果 */ position: relative; float: left; width: 250px; h
echobingo
2018/04/25
2.7K0
水平居中和垂直居中
垂直方向上下居中_如何实现垂直居中
这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%) 必须加上
全栈程序员站长
2022/09/19
1.7K0
Css 垂直居中
在 CSS 中对元素进行水平居中是非常简单的:如果它是一个行内元素, 就对它的父元素应用 text-align:center; 如果它是一个块级元素,就对它自身应用 margin:auto。然而如果要对一个元素进行垂直居中,可能光是想想就令人头皮发麻了。
grain先森
2019/03/29
2.8K0
Css 垂直居中
垂直水平居中
2.绝对定位计算:对子元素使用绝对定位,并分别移动上左50%,再分别margin-top:-50%height px,margin-left:-50%width px;
菜的黑人牙膏
2019/01/21
1.6K0
垂直居中 原
垂直居中的方法很多,一般是设置line-height,display:table-cell,vertical-align:middle,或者transform:translate(0,-50%),最近看到也可以使用另一种方法实现垂直居中
tianyawhl
2019/04/04
9260
CSS垂直居中
方案1 关键代码 父类: display: table-cell; vertical-align: middle; 示例: <style> .parent { width: 200px; height: 600px; background-color: blueviolet; display: table-cell; vertical-align: middle;
乐心湖
2020/07/31
3.4K0
内容垂直居中
测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容
GhostZhang
2022/08/21
9960
flex垂直居中
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说flex垂直居中,希望能够帮助大家进步!!!
Java架构师必看
2022/01/11
7880
flex垂直居中
图片 垂直居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cn" > <head> <title>未知大小图片在已知大小容器水平/垂直居中</title> <mce:style
week
2018/08/27
1.4K0
flex垂直居中[通俗易懂]
  注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。
全栈程序员站长
2022/08/10
1.4K0
div垂直居中 css div盒子上下垂直居中
div垂直居中 css div盒子上下垂直居中,让DIV盒子在任何浏览器中任何分辨率的显示屏浏览器中处于水平居中和上下垂直居中。 div垂直居中常用于单个盒子,如一个页面里只有一个登录布局,使用div css让这个登录布局水平和css垂直居中。 这里介绍一种最简单兼容性最好的水平居中与上下垂直居中的方法。 第一种方法:具体实例代码如下
李维亮
2021/07/09
2.8K0
div垂直居中的几种方式_div垂直水平居中
利用CSS进行元素的水平居中,比较简单,行级元素设置其父元素的text-align center,块级元素设置其本身的left 和 right margins为auto即可。本文收集了六种利用css进行元素的垂直居中的方法,每一种适用于不同的情况,在实际的使用过程中选择某一种方法即可。
全栈程序员站长
2022/08/03
4.1K0
div垂直居中的几种方式_div垂直水平居中
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/05/22
5.4K0
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
css图片居中(水平居中和垂直居中)
css图片居中分css图片水平居中和垂直居中两种情况,有时候还需要图片同时水平垂直居中,下面分几种居中情况分别介绍。
Yiiven
2022/12/15
4.9K0
元素、文字垂直居中
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
1.7K0
各种水平垂直居中
单行文本:       水平居中: text-align:center      垂直居中: line-height=容器高度 多行文本: 文本设置<span>标签 span{ display: table-cell; vertical-align: middle; text-align: center; } 父元素设置 display
大当家
2018/06/28
1.1K0
oc textview垂直居中
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
conanma
2021/05/11
8490
flex布局垂直居中
外框高都为400px,边框为2px;圆的宽高为100px;中圆是水平居中;下圆是水平居中以及相对于中圆垂直居中(下圆到中圆的距离和下圆到下边框的距离相等)。效果如图:
全栈程序员站长
2022/07/01
5710
flex布局垂直居中
多个CSS 居中方案,你可能还不知道!水平居中垂直居中水平垂直居中
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/01/18
2.9K0

相似问题

如何在div中将图像垂直居中?

20

如何在UITabBar中将图像垂直居中

10

如何在div中将图像垂直居中?

30

FlexSlider:居中当前图像

31

如何在此RelativeLayout中将图像垂直居中

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文