虚拟机字节码执行引擎——《深入理解JVM》第8章

虚拟机是相对于物理机的概念,这两种机器都有代码执行能力,但区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上,而虚拟机的执行引擎这是自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬件直接支持的指令集格式。
继续阅读“虚拟机字节码执行引擎——《深入理解JVM》第8章”

分词后记(一)——自己动手写了一个支持Lucene的简单分词器XinAnalyzer

用lucene的时候,看见了一个叫SmartChineseAnalyzer的支持中文分词,效果不咋的,发现竟然用的HMM分词。

当时一句"我的天",HMM要是都算Smart,我的BiLSTM+CRF那可以是Intelligent了,于是就想自己也写一个。
具体代码可见:https://github.com/1000-7/xinlp/tree/master/src/main/java/lucene/simple
良心建议:如果真的要用lucene支持中文分词,用Hanlp或者Ansj吧还是。
继续阅读“分词后记(一)——自己动手写了一个支持Lucene的简单分词器XinAnalyzer”

ES中的TransportClient学习——Java代码全记录

ES里有多种方式可以使用Java client对现有集群执行标准的index、get、delete和search操作,也可以在运行的集群上执行管理任务
获取client非常简单的。最常见的获取client的方式是创建TransportClient。
TransportClient的必须大版本是相同的,比如都是2.x或者5.x,小版本不同会有一些小问题。理想情况下,和ES的版本完全对应。
TransportClient在7.0会被声明不推荐deprecated,8.0就是完全移除。
建议用rest client,具体迁移有个说明,但还是要先懂TransportClient的功能,这也是这篇的意义。 继续阅读“ES中的TransportClient学习——Java代码全记录”