code: private void joinTableSimpleFieldOperation(ESSyncConfig config, Dml dml, Map<String, Object> data,
                                                 TableItem tableItem, Map<String, Object> esFieldData) {
          ESMapping mapping = config.getEsMapping();
  
          Map<String, Object> paramsTmp = new LinkedHashMap<>();
          for (Map.Entry<FieldItem, List<FieldItem>> entry : tableItem.getRelationTableFields().entrySet()) {
              for (FieldItem fieldItem : entry.getValue()) {
                  if (fieldItem.getColumnItems().size() == 1) {
                      Object value = esTemplate.getValFromData(mapping,
                          data,
                          fieldItem.getFieldName(),
                          entry.getKey().getColumn().getColumnName());
  
                      String fieldName = fieldItem.getFieldName();
                      // 判断是否是主键
                      if (fieldName.equals(mapping.get_id())) {
                          fieldName = "_id";
                      }
                      paramsTmp.put(fieldName, value);
                  }
              }
          }
  
          if (logger.isDebugEnabled()) {
              logger.trace("Join table update es index by foreign key, destination:{}, table: {}, index: {}",
                  config.getDestination(),
                  dml.getTable(),
                  mapping.get_index());
          }
          esTemplate.updateByQuery(config, paramsTmp, esFieldData);
      }
docs: 关联表主表简单字段operation
  
  @param config es配置
  @param dml dml信息
  @param data 单行dml数据
  @param tableItem 当前表配置