 
							jdbc
x-pack-sql-jdbc 接口打包发布后 调用报错
Elasticsearch • laoyang360 回复了问题 • 4 人关注 • 1 个回复 • 4853 次浏览 • 2020-05-27 08:33
logstash-input-jdbc 和 logstash-output-jdbc 中间如何过滤改变一下时间字段数据格式
回复默认分类 • ljx95315 发起了问题 • 1 人关注 • 0 个回复 • 3741 次浏览 • 2018-08-05 01:25
有关logstash jdbc 插件增量拉取数据,跟踪列为数值或日期的问题
Logstash • leo2018 回复了问题 • 7 人关注 • 2 个回复 • 15222 次浏览 • 2018-07-10 11:24
亲们,有ES对外提供SQL能力的解决方案吗?
Elasticsearch • ggg 回复了问题 • 4 人关注 • 4 个回复 • 4480 次浏览 • 2018-06-07 17:56
logstash5.1.2 filter插件,使用jdbc访问mysql,报错 Sequel::PoolTimeout
回复Logstash • juneryang 发起了问题 • 1 人关注 • 0 个回复 • 3106 次浏览 • 2018-03-15 12:02
logstash jdbc导入mysql报错
Logstash • NovemberRain_Jack 回复了问题 • 4 人关注 • 3 个回复 • 9178 次浏览 • 2017-11-17 16:25
logstash-input-jdbc 数据无法导入到已经存在的索引库?
Logstash • NovemberRain_Jack 回复了问题 • 3 人关注 • 2 个回复 • 4168 次浏览 • 2017-06-22 16:51
elasticsearch-jdbc导入数据时下面这个错误,请问是什么原因呢?
Elasticsearch • liuyueyue 回复了问题 • 3 人关注 • 2 个回复 • 7138 次浏览 • 2017-05-24 14:36
elasticsearch-jdbc导入数据时,日志中大量的出现这样的记录。
Elasticsearch • DIOUGENS 回复了问题 • 4 人关注 • 3 个回复 • 16573 次浏览 • 2017-04-17 18:14
elasticsearch-jdbc从mysql导入的读取顺序是??
Elasticsearch • laoyang360 回复了问题 • 3 人关注 • 2 个回复 • 4544 次浏览 • 2017-03-31 07:12
elasticsearch-query-tookit一款基于SQL查询elasticsearch编程工具包,支持SQL解析生成DSL,支持JDBC驱动,支持和Spring、MyBatis集成
Elasticsearch • chennanlcy 发表了文章 • 1 个评论 • 10878 次浏览 • 2017-03-24 23:09
String sql = "select * from index.order where status='SUCCESS' and price > 100 order by nvl(pride, 0) asc routing by 'JD' limit 0, 20";
ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
//解析SQL
ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
//生成DSL(可用于rest api调用)
String dsl = parseResult.toDsl();
//toRequest方法接收一个clinet对象参数
SearchRequestBuilder searchReq = parseResult.toRequest(esClient);
//执行查询
SearchResponse response = searchReq.execute().actionGet();{
  "from" : 0,
  "size" : 20,
  "query" : {
    "bool" : {
      "filter" : {
        "bool" : {
          "must" : [ {
            "term" : {
              "status" : "SUCCESS"
            }
          }, {
            "range" : {
              "price" : {
                "from" : 100,
                "to" : null,
                "include_lower" : false,
                "include_upper" : true
              }
            }
          } ]
        }
      }
    }
  },
  "sort" : [ {
    "pride" : {
      "order" : "asc",
      "missing" : 0
    }
  } ]
}<bean id="elasticDataSource" class="org.elasticsearch.jdbc.api.ElasticSingleConnectionDataSource" destroy-method="destroy">
    <property name="driverClassName" value="org.elasticsearch.jdbc.api.ElasticDriver" />
    <property name="url" value="jdbc:elastic:192.168.0.109:9300/product_cluster" />
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="dataSource" ref="elasticDataSource" />
    <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean><sqlMapConfig>
    <settings
            cacheModelsEnabled="true"
            lazyLoadingEnabled="true"
            enhancementEnabled="true"
            maxSessions="64"
            maxTransactions="20"
            maxRequests="128"
            useStatementNamespaces="true"/>
    <sqlMap resource="sqlmap/PRODUCT.xml"/>
</sqlMapConfig><sqlMap namespace="PRODUCT">
    <select id="getProductByCodeAndMatchWord" parameterClass="java.util.Map" resultClass="java.lang.String">
        SELECT *
        FROM index.product
        QUERY match(productName, #matchWord#) or prefix(productName, #prefixWord#, 'boost:2.0f')
        WHERE productCode = #productCode#
        AND advicePrice > #advicePrice#
        AND $$buyers.buyerName IN ('china', 'usa')
        ROUTING BY #routingVal#
    </select>
</sqlMap>@Repository
public class ProductDao {
    @Autowired
    @Qualifier("sqlMapClient")
    private SqlMapClient sqlMapClient;
    public List<Product> getProductByCodeAndMatchWord(String matchWord, String productCode) throws SQLException {
        Map<String, Object> paramMap = Maps.newHashMap();
        paramMap.put("productCode", productCode);
        paramMap.put("advicePrice", 1000);
        paramMap.put("routingVal", "A");
        paramMap.put("matchWord", matchWord);
        paramMap.put("prefixWord", matchWord);
        String responseGson = (String) sqlMapClient.queryForObject("PRODUCT.getProductByCodeAndMatchWord", paramMap);
        
        //反序列化查询结果
        JdbcSearchResponseResolver responseResolver = new JdbcSearchResponseResolver(responseGson);
        JdbcSearchResponse<Product> searchResponse = responseResolver.resolveSearchResponse(Product.class);
        return searchResponse.getDocList();
    }
}@Test
public void testProductQuery() throws Exception {
    BeanFactory factory = new ClassPathXmlApplicationContext("application-context.xml");
    ProductDao productDao = factory.getBean(ProductDao.class);
    
    List<Product> productList = productDao.getProductByCodeAndMatchWord("iphone 6s", "IP_6S");
    for (Product product : productList) {
        System.out.println(product.getProductName());
    }
}使用logstash input jdbc插件,从mysql导出数据到elasticsearch,发现乱码
Logstash • Viento 回复了问题 • 2 人关注 • 2 个回复 • 4839 次浏览 • 2017-01-20 12:23
Elasticsearch jdbc从mysql导入数据,到了一半shell脚本中断。
Elasticsearch • Xargin 回复了问题 • 3 人关注 • 1 个回复 • 6058 次浏览 • 2017-01-10 22:01
JDBC导入数据,有字段内容有HTML标签,会影响搜索的效率
Elasticsearch • strglee 回复了问题 • 3 人关注 • 2 个回复 • 4682 次浏览 • 2016-12-14 21:35
x-pack-sql-jdbc 接口打包发布后 调用报错
回复Elasticsearch • laoyang360 回复了问题 • 4 人关注 • 1 个回复 • 4853 次浏览 • 2020-05-27 08:33
logstash-input-jdbc 和 logstash-output-jdbc 中间如何过滤改变一下时间字段数据格式
回复默认分类 • ljx95315 发起了问题 • 1 人关注 • 0 个回复 • 3741 次浏览 • 2018-08-05 01:25
有关logstash jdbc 插件增量拉取数据,跟踪列为数值或日期的问题
回复Logstash • leo2018 回复了问题 • 7 人关注 • 2 个回复 • 15222 次浏览 • 2018-07-10 11:24
logstash5.1.2 filter插件,使用jdbc访问mysql,报错 Sequel::PoolTimeout
回复Logstash • juneryang 发起了问题 • 1 人关注 • 0 个回复 • 3106 次浏览 • 2018-03-15 12:02
logstash jdbc导入mysql报错
回复Logstash • NovemberRain_Jack 回复了问题 • 4 人关注 • 3 个回复 • 9178 次浏览 • 2017-11-17 16:25
logstash-input-jdbc 数据无法导入到已经存在的索引库?
回复Logstash • NovemberRain_Jack 回复了问题 • 3 人关注 • 2 个回复 • 4168 次浏览 • 2017-06-22 16:51
elasticsearch-jdbc导入数据时下面这个错误,请问是什么原因呢?
回复Elasticsearch • liuyueyue 回复了问题 • 3 人关注 • 2 个回复 • 7138 次浏览 • 2017-05-24 14:36
elasticsearch-jdbc导入数据时,日志中大量的出现这样的记录。
回复Elasticsearch • DIOUGENS 回复了问题 • 4 人关注 • 3 个回复 • 16573 次浏览 • 2017-04-17 18:14
elasticsearch-jdbc从mysql导入的读取顺序是??
回复Elasticsearch • laoyang360 回复了问题 • 3 人关注 • 2 个回复 • 4544 次浏览 • 2017-03-31 07:12
使用logstash input jdbc插件,从mysql导出数据到elasticsearch,发现乱码
回复Logstash • Viento 回复了问题 • 2 人关注 • 2 个回复 • 4839 次浏览 • 2017-01-20 12:23
Elasticsearch jdbc从mysql导入数据,到了一半shell脚本中断。
回复Elasticsearch • Xargin 回复了问题 • 3 人关注 • 1 个回复 • 6058 次浏览 • 2017-01-10 22:01
JDBC导入数据,有字段内容有HTML标签,会影响搜索的效率
回复Elasticsearch • strglee 回复了问题 • 3 人关注 • 2 个回复 • 4682 次浏览 • 2016-12-14 21:35
elasticsearch-river-jdbc mysql数据删除与更新问题
回复Elasticsearch • zjxhsun 回复了问题 • 6 人关注 • 3 个回复 • 7860 次浏览 • 2015-06-17 16:45
elasticsearch-query-tookit一款基于SQL查询elasticsearch编程工具包,支持SQL解析生成DSL,支持JDBC驱动,支持和Spring、MyBatis集成
Elasticsearch • chennanlcy 发表了文章 • 1 个评论 • 10878 次浏览 • 2017-03-24 23:09
String sql = "select * from index.order where status='SUCCESS' and price > 100 order by nvl(pride, 0) asc routing by 'JD' limit 0, 20";
ElasticSql2DslParser sql2DslParser = new ElasticSql2DslParser();
//解析SQL
ElasticSqlParseResult parseResult = sql2DslParser.parse(sql);
//生成DSL(可用于rest api调用)
String dsl = parseResult.toDsl();
//toRequest方法接收一个clinet对象参数
SearchRequestBuilder searchReq = parseResult.toRequest(esClient);
//执行查询
SearchResponse response = searchReq.execute().actionGet();{
  "from" : 0,
  "size" : 20,
  "query" : {
    "bool" : {
      "filter" : {
        "bool" : {
          "must" : [ {
            "term" : {
              "status" : "SUCCESS"
            }
          }, {
            "range" : {
              "price" : {
                "from" : 100,
                "to" : null,
                "include_lower" : false,
                "include_upper" : true
              }
            }
          } ]
        }
      }
    }
  },
  "sort" : [ {
    "pride" : {
      "order" : "asc",
      "missing" : 0
    }
  } ]
}<bean id="elasticDataSource" class="org.elasticsearch.jdbc.api.ElasticSingleConnectionDataSource" destroy-method="destroy">
    <property name="driverClassName" value="org.elasticsearch.jdbc.api.ElasticDriver" />
    <property name="url" value="jdbc:elastic:192.168.0.109:9300/product_cluster" />
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    <property name="dataSource" ref="elasticDataSource" />
    <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean><sqlMapConfig>
    <settings
            cacheModelsEnabled="true"
            lazyLoadingEnabled="true"
            enhancementEnabled="true"
            maxSessions="64"
            maxTransactions="20"
            maxRequests="128"
            useStatementNamespaces="true"/>
    <sqlMap resource="sqlmap/PRODUCT.xml"/>
</sqlMapConfig><sqlMap namespace="PRODUCT">
    <select id="getProductByCodeAndMatchWord" parameterClass="java.util.Map" resultClass="java.lang.String">
        SELECT *
        FROM index.product
        QUERY match(productName, #matchWord#) or prefix(productName, #prefixWord#, 'boost:2.0f')
        WHERE productCode = #productCode#
        AND advicePrice > #advicePrice#
        AND $$buyers.buyerName IN ('china', 'usa')
        ROUTING BY #routingVal#
    </select>
</sqlMap>@Repository
public class ProductDao {
    @Autowired
    @Qualifier("sqlMapClient")
    private SqlMapClient sqlMapClient;
    public List<Product> getProductByCodeAndMatchWord(String matchWord, String productCode) throws SQLException {
        Map<String, Object> paramMap = Maps.newHashMap();
        paramMap.put("productCode", productCode);
        paramMap.put("advicePrice", 1000);
        paramMap.put("routingVal", "A");
        paramMap.put("matchWord", matchWord);
        paramMap.put("prefixWord", matchWord);
        String responseGson = (String) sqlMapClient.queryForObject("PRODUCT.getProductByCodeAndMatchWord", paramMap);
        
        //反序列化查询结果
        JdbcSearchResponseResolver responseResolver = new JdbcSearchResponseResolver(responseGson);
        JdbcSearchResponse<Product> searchResponse = responseResolver.resolveSearchResponse(Product.class);
        return searchResponse.getDocList();
    }
}@Test
public void testProductQuery() throws Exception {
    BeanFactory factory = new ClassPathXmlApplicationContext("application-context.xml");
    ProductDao productDao = factory.getBean(ProductDao.class);
    
    List<Product> productList = productDao.getProductByCodeAndMatchWord("iphone 6s", "IP_6S");
    for (Product product : productList) {
        System.out.println(product.getProductName());
    }
}
















