如何将配置单元映射到弹性搜索 _id 字段

Posted

技术标签:

【中文标题】如何将配置单元映射到弹性搜索 _id 字段【英文标题】:how to map hive to elastic search _id field 【发布时间】:2015-10-09 05:23:12 【问题描述】:

我想将 hive 键值映射到弹性搜索 _id 字段。

例子:

CREATE EXTERNAL TABLE test (id BIGINT ,name string,dept string) 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES('es.resource' = 'hive/test','es.id.field' = 'id');

在插入记录并检查弹性搜索时,它显示在下面


    "_index": "hive",
    "_type": "extest",
    "_id": "AU6qODiDNN1Z0nJPsoXP",
    "_score": 1,
    "_source": 
        "id": 1,
        "name": "alex",
        "dept": "bigdata"
    

"id": 1"_id": "AU6qODiDNN1Z0nJPsoXP" 两者都没有同步。我想同步这两个值。

【问题讨论】:

【参考方案1】:

尝试使用es.mapping.id 属性而不是您的es.id.field

查看此链接了解更多详情:

https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html#cfg-mapping

【讨论】:

以上是关于如何将配置单元映射到弹性搜索 _id 字段的主要内容,如果未能解决你的问题,请参考以下文章

如何通过代码将 Id 映射到 NHibernate 映射中的私有支持字段?

如何在弹性搜索查询中传递特定字段的值列表

在弹性搜索中将Json字段存储为字符串吗?

在弹性搜索中搜索具有空/空对象字段的文档

带有嵌套字段和映射的 Spring Data 弹性搜索

弹性搜索如何索引嵌套列表