百度文字识别API接入
First 一个偶然的链接进去了百度的管理控制台,一扫而过的各种功能真是厉害了。然后看到文字识别,之前帮别人开发一个模拟登陆获取数据(有点像爬虫),有个很关键的点就是验证码了。想了想百度可以文字识别,验证码就不过也如此。 注册百度账号 在文字识别添加一个应用 复制APPid和APPsecret 填写获取token的地址 发送请求 123456String url = "https://aip.baidubce.com/oauth/2.0/token"; JSONObject obj=new JSONObject(); obj.put("grant_type", "client_credentials"); obj.put("client_id", "XXX"); obj.put("client_secret", "YYY"); String...
SpringAOP初体验
AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处的无关的代码被称为横切(cross...
linux下Elasticsearch插件安装笔记(head,sql)
说明 这里的版本是es5.1.2,不适用5.x以下,5.x以下是用插件的形式安装在es上面,具体看git。 安装的目录,和解压的目录都可以随便选的,但是为了统一管理,最好全部插件安装在es的根目录下(个人建议),因为我这里此前有人安装过相关的插件,分散在不同的目录,搞起来让我很懵逼。 elasticsearch-headgithub链接 elasticsearch-head head 插件在window安装跟linux安装操作步骤基本相似,这里就介绍linux下安装即可。1.首先需要git clone head 插件到本地,在linux上使用git命令也行,下载到本地再上传到linux服务器也行,哪方便行。2.安装npm:使用国外镜像会比较慢,所以使用淘宝镜像,很快的。 1wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.4.7-linux-x64.tar.gz 3.解压: 1tar -zxvf...
Elasticsearch-sql-5.1.2笔记
elasticsearch-sql-5.1.2elasticsearch-sql ElasticSearch-sql 是es的插件之一,通过类sql查询es。最近更新了最新的5.1.2版本,出现某些异常情况。使用groupby的时候查询的时候只有10条,出现这个问题,尝试了在issue找答案,找到了发送请求的时候要设置size的大小,而sql插件源码包里面写死了200和10,至于怎么找出来的,我也是在别人的博客里面看到的,blog。因此,通过修改源码重新打包即可解决我的问题(源码包就跟打好的jar包放一起,名字也写上了source),修改两个位置,如下line 76:这个位置是最后一次查询条数,改成Integer.MAX_VALUE。 123if(select.getRowCount()>0) { ((TermsAggregationBuilder) lastAgg).size(Integer.MAX_VALUE); } line...
Elasticsearch 笔记-插件
delete-by-query插件使用12TransportClient.builder().settings(settings).addPlugin(DeleteByQueryPlugin.class).build(); deleteByQuery插件是通过按照查询出来的doc 来进行删除操作。 es的集群都需要安装deleteByQuery 插件,到es的安装目录里执行plugin install deletebyQuery命令则可安装 es安装完需要重启,重新加载插件 客户端创建时需要添加plugin的支持如上面代码 eg: 1234567891011121314151617181920/** * es 查询删除操作 * @param index 索引 * @param type 类型 * @param column 删除字段的列名 * @param deleteValue 删除字段值 * @return long 删除结果 */ public long deleteByQuery (String index,String type,String...
common-csv
csv初使用COMMON-CSV**官网** 项目中批量插入数据库使用的mybatis,在做数据导入的时候,觉得是mybatis的批量导入有问题,后来发现其实是没问题的。当时没看时间花费多少,就找到了common-csv来做测试,在知乎上也有很多人说用csv配合load data会很快,后来测试之后,其实感觉是差不多的,我的数据量是1000左右,可能在1w以上的数据就会出现差异,load data 这个东西感觉是效率很高,使用起来也是很方便,在项目中引用common-csv的jar包即可 示例 mybatis xml 文件配置 1234567891011<insert id="createOrdersByCsv" > LOAD DATA LOCAL INFILE #{filePath} INTO TABLE wo_work_order_test FIELDS TERMINATED BY ',' lines terminated by...
Future Callable初使用
线程优化 昨天看到一同事的导出代码,单线程,看着就觉得还是差了点东西。然后就想进行一番改造,然后就找来了future和callable。 ** Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返回值。 ** 简单来说就是一个是执行任务,然后它带着任务执行的结果回来。 简单看下demo12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970import java.util.ArrayList;import java.util.concurrent.Callable;import...
next部署git页面资源加载404
资源404 引用一下其他博主的话,这位博主不要生气哦,资源共享嘛 ** 最近github page更新了,GitHub Pages 过滤掉了 source/vendors 目录的访问,所以next主题下的source下的vendors目录不能够被访问到,所以就出现了本地hexo s能够正常访问,但是deploy到github就是一片空白,按f12,可以看到大量来自source/vendors的css和js提示404 ** ...
Elasticsearch 笔记
初学elasticsearchelasticsearch,简称ES。百度百科 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一> 个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。 elasticsearch...
maven国内镜像
修改setting.xml setting.xml是工程所用的maven的setting.xml,可存在maven安装目录的conf下,或者在.m2下面。修改 .m2 文件夹中的setting.xml 中的 元素。添加子元素如下: 1234567<mirrors> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> 阿里云的镜像,亲测很快。以后都用它了。