具有 null_value 的 geo_point 的 elasticsearch 映射

axe*_*ger 4 mapping null geospatial elasticsearch

我在从数据库导入时遇到了与elasticsearch的geo_point相关的问题。如果lonlat字段的值包含实际值,我的映射效果很好。

现在,某些行可能包含经/纬度空值,如果我尝试导入这些值,我会收到ElasticsearchParseException[纬度必须是数字]错误,该错误看起来完全合法。

所以我想将这些字段设置为0,0 或 NULL,NULL但这就是我陷入困境的地方。

我尝试将'null_value' => '0'添加到映射中,但这似乎不起作用。

映射如下所示:

'_source' => array(
            'enabled' => true
        ),
        'properties' => array(
            'coordinates' => array(
                'type' => 'geo_point',
                'null_value' => '0'
            )
        )
Run Code Online (Sandbox Code Playgroud)

有人知道这一点吗?

(我正在使用 PHP Elasticsearch 客户端。)

vil*_*asv 5

FWIW 这是您的文档结构的问题,而不是空值的存在。

coordinates如果您有一个具有映射类型的字段,则必须使用替代格式或类似的等效格式geo_point插入文档。整个字段必须丢失,而不是其内部数据。{..., coordinates: null}{..., coordinates: {lat: null, lon: null}}