FST 在Lucene的原理
一、Node和Arc
Node表示节点状态(图中的圆圈)
分为UnCompliedNode和CompliledNode分别用来保存后续没有Arc的节点
Arc表示存储的字符的对象
二、位运算
int BIT_NUM_1 =1 << 0; ==》1
int BIT_NUM_2 =1 << 1; ==》2
int BIT_NUM_4 =1 << 2; ==》4
int BIT_NUM_8 =1 << 3; ==》8
int BIT_NUM_16 =1 << 4; ==》16
int BIT_NUM_32 =1 << 5; ==》32
设计思路
使用1 << ? 创建的常量值,在相加后的结果,只能拆分成一种相加情况。
如此设计,当获得一个结果时,就能非常清晰的知道包含了哪些常量