ElasticSearch Nest 客户端 Ver 7.13 - Id 字段值未设置为 _id 字段值

问题描述

我正在使用 PetaPoco ORM 执行 sql 视图并生成动态对象列表。每个动态对象都有“Id”列。

sql View: select cast(columnA as varchar) + cast(columnB as varchar) as Id,columnA,ColumnB from sqlviewname

使用 nest BulkAll 我正在将对象列表索引到 ElasticSearch 数据库。我希望将对象“Id”列设置为文档“_id”列,因此下次我发送具有相同“Id”值的重复记录时,现有记录将被更新/替换。

但该文档显示一个自动生成的“_id”值,例如 _id: wK0LonoBM5ttOO0b8qMv。 我发送的“Id”值未设置为文档“_id”。我错过了什么?请帮忙。

我发送的对象“Id”是一个字符串。下面是来自 kibana 的文档 JSON。

{
  "_index": "indexname","_type": "_doc","_id": "wK0LonoBM5ttOO0b8qMv","_version": 1,"_score": 0,"fields": {
    "Id": [
      "1682002021"
    ],"Id.keyword": [
      "1682002021"
    ],"year": [
      2021
    ],"uniquecolumnbvalue": [
      168200
    ],"description": [
      "test description"
    ],"description.keyword": [
      "test description"
    ]      
  }
}

更新 1: 我没有将值转换为数组。 Petapoco 的输出直接发送到 ElasticSearch db。在 petapoco 对象下方找到

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...