【问题标题】:Importing CSV File in Elasticsearch在 Elasticsearch 中导入 CSV 文件
【发布时间】:2021-03-30 11:19:20
【问题描述】:

我是弹性搜索的新手。尝试通过following the guide导入CSV文件

并且成功地导入了文件,它还创建了包含文档的索引。 但是我发现在每个文档中 _id 都包含随机唯一 ID 作为值。我想使用查询或任何其他方式从 CSV 文件字段(我正在导入的 CSV 文件包含每行具有唯一 ID 的字段)中获得 _id 的值。我不知道该怎么做。 即使在文档中也没有解释。 elasticsearch索引的文档示例如下所示

{
    "_index" : "sample_index",
    "_type" : "_doc",
    "_id" : "nGHXgngBpB_Kjkqcxfj",
    "_score" : 1.0,
    "_source" : {
      "categoryid" : "34128b58-9148-11eb-a8b3-0242ac130003",
      "categoryname" : "Blogs",
      "isdeleted" : "False"
    }

使用以下查询添加摄取管道时

{ “放”: { “字段”:“_id”, “价值”:“{{categoryid}}” } }

它用this message 抛出一个错误

【问题讨论】:

    标签: csv elasticsearch data-visualization kibana


    【解决方案1】:

    您可以通过修改用于提取 CSV 文件的提取管道来实现此目的。

    在 Ingest pipeline 区域(高级部分),只需在管道末尾添加以下处理器,文档 ID 将相应设置:

    ...
    {
      "set": {
        "field": "_id",
        "value": "{{categoryid}}"
      }
    }
    

    应该是这样的:

    【讨论】:

    • 抛出错误 [parse_exception] [processors] required property is missing, with { property_name="processors" }
    • 你能用你摄取管道的截图更新你的问题吗?
    • 只需更新您的问题,以便所有人都能看到
    • 仍在等待确切的解决方案
    • 好的,那么您只需要使用我提到的单个set 处理器添加一个管道。我正在运行最新的 7.12 版本,也许这就是我的管道不同的原因。我提到的唯一重要的处理器就是你想做的事情。
    【解决方案2】:

    在摄取管道部分添加了以下处理器,它可以工作..

    {
      "processors": [
        {
          "set": {
            "field": "_id",
            "value": "{{categoryid}}"
          }
        }
      ]
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-27
      • 2021-09-02
      • 2017-04-20
      • 2017-11-18
      • 2013-07-24
      • 2017-08-05
      • 2012-08-14
      • 1970-01-01
      相关资源
      最近更新 更多