Arganzheng's Blog

stay hungry, stay foolish

ElasticSearch的节点类型

集群中的每一个ElasticSearch实例都可作为一个节点存在,相同集群名字的节点构成同一个ElasticSearch集群。 默认情况下,集群中的每个节点都可以处理 HTTP 或者 Transport 请求。 其中 transport 层专门用于节点和Java TransportClient之间的通讯;而HTTP层则只供REST客户端使用。 集群中所有的节点都知道集群中其他所有的节点,...

ElasticSearch如何支持深度分页

分布式环境下的分页 ES本身是支持分页查询的,使用方式跟MySQL非常类似: from: Indicates the number of initial results that should be skipped, defaults to 0 size: Indicates the number of results that should be returned, defa...

使用puppeteer和chrome-headless做暗网抓取

最近 国家企业信用信息公示系统 的验证码又升级了。之前是 点按后滑动拼图方式: 解决方案虽然麻烦,但是偏向于工程架构方面,没有什么算法的东东: 但是最近升级之后新增了一种验证码模式——点按后顺序选字方式: 这个就没办法用纯工程的方式来解决了。必须使用到机器学习的方式了。机器学习的最基本的就是要模型训练,而模型训练就需要样本和标注(有监督学习)。所以首先我们要想办法拿到大量的...

ElasticSearch如何支持嵌套属性检索

地球是圆的,对象往往也不是扁平的。所以嵌套属性就很常见了,比如name.first, address.city, etc. 我们知道ElasticSearch是Document Oriented的NoSQL,文档本身就是JSON表示,JSON本身就是一个自由嵌套的数据结构(JSON documents are hierarchical in nature: the document may...

ElasticSearch的Query Context和Filter Context

Sorting and Relevance 像MySQL这样的数据库,查询结果如果没有order by,那么默认就是按照主键排序的。对于大部分业务场景来说,排序往往取决于某个/些字段的值,但是对于搜索引擎来说,排序却往往跟相关性有关系。那么ES中相关性是什么,又是怎么计算的呢? Scoring by Relevance ES默认对结果按照相关性降序排序(By default, resu...

Thanksgiving in 2017

thanks, for everything you did

这几天因为民生银行香港卡的问题,跟行政同学略有交互,行政同学顺便邀请我参加即将到来的感恩节活动,活动的主题如下: 哪一次被帮助的经历一直让你心怀感激? 生活、工作当中遇上些坑爹事再所难免 可总有那么一次 在你需要别人帮助的时候 正好有个人出现替你解了围 你的困难和窘境随之化解 TA的这个举动是雪中送炭也好,锦上添花也罢 只要是确实在你的心里留下深刻印象的 并且让你回忆起来始终会...

如何查看和设置文件句柄数

1. 系统级别限制(System-Wide Limit) Set this higher than user-limit set above. 配置文件:/etc/sysctl.conf: fs.file-max = 2097152 然后运行: sysctl -p让其生效。 这个命令会增加系统级别(所有用户)可以打开的文件句柄数。 可以通过/proc/sys/fs/file-m...

neo4j如何支持多个label索引查询

4kw+的Company数据,8kw+的Person数据,和20kw左右的关系数据。 $ head company.csv id:ID,name,:LABEL 00002cefc5e2d05b9311a791fd009160,"岳阳市岳阳楼区亿诺厨房电器总经销",Company 00002ebe645c0f777887ff17d525ba6b,"禄丰县碧城镇零点俱乐部",Company 0...

一个诡异的Antlr4语法问题

背景 图数据库对外要提供灵活的查询接口,可以有三种层次的实现形式: 自然语言: unicorn(facebook) 结构化查询语言: Gremlin(Titan), AQL(ArangoDB), Cypher(Neo4j), etc. 根据需要预定义的接口: 如一度关系接口,实体查询接口等。 自然语言实现起来过于复杂,准确度不高,不好现实;预定义接口之前在做通用知识图谱...

基于Aerospike实现一个分布式图数据库

背景 去年开始做知识图谱,从网站抓取到的数据经过清洗、抽取、消歧、挖掘等最后得到的图谱,需要以在线的形式提供给用户使用,这就需要一个图数据库了。为了避免重复造轮子,我们调研了很多开源的图数据库,像neo4j, Titan, OrientDB,Graph Engine(@Microsoft), Cayley, ArangoDB, 等等。具体可以参考笔者之前写的一篇文章:图存储引擎学习笔记。 ...