Elasticsearch系列开坑啦,入门总是愉快的,学一学再放弃啊。
Apache Lucene是ElasticSearch使用的全文检索库。了解Lucene之前,需要先了解一些概念:
其中最重要的是倒排索引,为了方便理解,我们看一个简单的例子。
假设这里有三句话:
T[0] = "it is what it is"
T[1] = "what is it"
T[2] = "it is a banana"
倒排索引通常有两种表现形式:
"a" : {2}
"banana" : {2}
"is" : {0, 1, 2}
"it" : {0, 1, 2}
"what" : {0,1}
"a" : {(2, 2)}
"banana" : {(2, 3)}
"is" : {(0, 1), (0, 4), (1, 1), (2, 1)}
"it" : {(0, 0), (0, 3), (1, 2), (2, 0)}
"what" : {(0, 2), (1, 0)}
在了解了Lucene的一些基本概念之后,还需要了解Lucene的查询语言。一个查询通常被分割为词项和操作符,词项可以是单个词或短语。操作符包括:
对于一些特殊字符的查询,我们通常使用反斜杠进行转义。
了解了Lucene的基本概念以后,我们回到正题,再来看一下Elasticsearch的一些基本概念,可能和Lucene有一些重复,不过还是有一些Elasticsearch特有的属性。
当Elasticsearch启动时,它使用广播技术来发现同一集群内的其他节点,集群中会有一个节点被选为master节点。master节点负责管理集群状态,并在集群中节点数量变化时做出反应。但从用户角度来看,master节点与其他节点没有什么区别,命令可以发送的任意节点执行。
master节点会检查所有分片,决定哪些分片为主分片。主分片确定以后,集群状态为黄色,此时可以接收查询。然后master节点会决定是否要对各个分片创建副本,副本也没有问题以后,集群状态变为绿色。
Elasticsearch的集群状态分为3种:
关于Elasticsearch的启动过程,后面还会有更加深入的讨论。
敬请期待。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有