Apache Nifi 获取Solr配置时不包含日期字段
创始人
2024-09-04 12:01:00
0

在Apache NiFi中,可以使用EvaluateJsonPath处理器来获取Solr配置时不包含日期字段的解决方法。下面是一个示例流程:

  1. 添加一个GetSolr配置处理器,配置Solr的URL和Collection名称。
  2. 添加一个EvaluateJsonPath处理器,将返回的Solr配置解析为JSON对象。
  3. 在EvaluateJsonPath处理器的属性中,添加一个自定义属性,设置属性名为"dateField",设置JSON路径表达式为"$.dateField"。这将提取出Solr配置中的日期字段。
  4. 添加一个RouteOnAttribute处理器,将日期字段的值为空的文档路由到一个不同的分支。
  5. 在RouteOnAttribute处理器的属性中,添加一个动态属性,设置属性名为"dateField",设置属性值为"${dateField:isEmpty()}"。这将检查日期字段是否为空。
  6. 添加一个PutSolrContentStream处理器,将日期字段不为空的文档发送回Solr。

下面是一个示例的NiFi流程的JSON配置:

{
  "name": "Solr Configuration",
  "id": "4f8a0e4a-0157-1000-ffff-ffffa5d0d8fd",
  "comments": "Solr Configuration",
  "isolated": false,
  "inputRequirement": "INPUT_REQUIRED",
  "config": {
    "properties": {
      "SolrUrl": "http://localhost:8983/solr",
      "SolrCollection": "mycollection"
    }
  },
  "component": {
    "name": "GetSolr",
    "type": "org.apache.nifi.processors.solr.GetSolr",
    "id": "4f8a0e4a-0157-1000-ffff-ffffa5d0d8fd",
    "bundle": {
      "group": "org.apache.nifi",
      "artifact": "nifi-solr-nar",
      "version": "1.13.2"
    }
  },
  "connections": [
    {
      "id": "4f8a0e4a-0157-1000-ffff-ffffa5d0d8ff",
      "source": {
        "id": "4f8a0e4a-0157-1000-ffff-ffffa5d0d8fd",
        "relationship": "success"
      },
      "destination": {
        "id": "4f8a0e4a-0157-1000-ffff-ffffa5d0d8fe",
        "relationship": "success"
      },
      "flowFileExpiration": "0 sec",
      "backPressureDataSizeThreshold": "1 GB",
      "backPressureObjectThreshold": "10000",
      "bends": [
        
      ]
    }
  ],
  "processGroups": [
    
  ],
  "remoteProcessGroups": [
    
  ],
  "labels": [
    
  ],
  "funnels": [
    
  ],
  "controllerServices": [
    
  ],
  "idGenerationSeed": 1,
  "position": {
    "x": 273.0,
    "y": 64.0
  }
}

请注意,以上示例中的日期字段名称为"dateField",你需要根据你的实际情况进行相应的更改。

相关内容

热门资讯

安装ug未能链接到许可证服务器 安装UG未能链接到许可证服务器是UG用户在安装软件时常遇到的问题之一。该问题的解决方法需要技术向的知...
按转换模式过滤日志【%t】。 要按照转换模式过滤日志,可以使用正则表达式来实现。下面是一个示例代码,使用Java语言的Patter...
安装Pillow时遇到了问题:... 遇到这个问题,可能是因为缺少libwebpmux3软件包。解决方法是手动安装libwebpmux3软...
安卓 - 谷歌地图卡住了 问题描述:在安卓设备上使用谷歌地图应用时,地图卡住了,无法进行任何操作。解决方法一:清除应用缓存和数...
安装Python库"... 安装Python库"firedrake"的解决方法如下:打开终端或命令提示符(Windows系统)。...
安装某些NPM包时,'... 在NPM中,'@'符号是用来分隔软件包名称和其特定版本或范围参数的。例如,您可以使用以下命令安装 R...
安装React Native时... 当安装React Native时出现构建错误的情况,可以尝试以下解决方法:确保已经安装了最新版本的C...
Android TV 盒子出现... Android TV 盒子上的应用程序停止运行可能是由于多种原因引起的,以下是一些可能的解决方法和相...
按照CSV文件中的名称对图像进... 要按照CSV文件中的名称对图像进行筛选,可以使用以下步骤:读取CSV文件:使用Python的csv模...
安装未成功。应用程序无法安装。... 在Android开发中,当应用程序无法安装并显示错误消息“安装未成功。应用程序无法安装。安装失败原因...