jqkyp 发表于 2019-1-29 11:12:01

Elasticsearch JDBC的使用-MySQL 数据源导入和增量索引、更新

#!/bin/sh# 当前脚本的绝对路径DIR="$( cd "$( dirname "${BASH_SOURCE}" )" && pwd )"  
bin=${DIR}/../bin
  
lib=${DIR}/../lib
  

  
echo '
  
{
  
    "type" : "jdbc",
  
    "jdbc" : {
  
      # 链接 mysql 的 test 数据库
  
      "url" : "jdbc:mysql://localhost:3306/test",
  
      # mysql 用户
  
      "user" : "root",
  
      # mysql 密码
  
      "password" : "123456",
  
      # 计划任务状态文件
  
      "statefile" : "statefile-article.json",
  
      # 计划任务时间 这里是每分钟执行一次
  
      "schedule" : "0 0-59 0-23 ? * *",
  
      # 执行导入的sql 语句
  
      "sql" : [
  
            {
  
                "statement" : "select *, id as _id from article where update_time > ?",
  
                "parameter" : [ "$metrics.lastexecutionstart" ]
  
            }
  
      ],
  
      # 索引名称 jdbctest
  
      "index" : "jdbctest",
  
      # 类型名称 article
  
      "type" : "article",
  
      # 类型设置
  
      "index_settings" : {
  
            "analysis" : {
  
            "analyzer" : {
  
                "ik" : {
  
                        # 涉及到中文使用ik 分词
  
                  "tokenizer" : "ik"
  
                }
  
            }
  
      }
  
      },
  
      # 类型中的字段映射
  
      "type_mapping": {
  
            # 类型名称
  
            "article" : {
  
                "properties" : {
  
                  # 对应的字段
  
                  "id" : {
  
                        # 字段类型
  
                        "type" : "integer",
  
                        # 当成一个准确的值进行索引(全匹配)
  
                        "index" : "not_analyzed"
  
                  },
  
                  "subject" : {
  
                        "type" : "string",
  
                        "analyzer" : "ik"
  
                  },
  
                  "author" : {
  
                        "type" : "string",
  
                        "analyzer" : "ik"
  
                  },
  
                  "create_time" : {
  
                        "type" : "date"
  
                  },
  
                  "update_time" : {
  
                        "type" : "date"
  
                  }
  
                }
  
            }
  
      }
  
    }
  
}
  
' | java \
  
    -cp "${lib}/*" \
  
    -Dlog4j.configurationFile=${bin}/log4j2.xml \
  
    org.xbib.tools.Runner \
  
    org.xbib.tools.JDBCImporter123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778


页: [1]
查看完整版本: Elasticsearch JDBC的使用-MySQL 数据源导入和增量索引、更新