说起 ElasticSearch,大家的第一反应就是这是一款主要用于搜索的高性能分布式引擎,我们可以使用这个有点重的家伙来完成一个检索功能。当然这是一个普遍的认知,我在这里重复描述也只是为我等小白扫个小盲,大佬可忽略这自嗨。 目前搜索市面上也不仅仅只有 ElasticSearch,抛开 ElasticSearch 这款引擎本身来想一下,我们理想中的搜索引擎是怎么样子的,想必有很多的点吧,也许每个人的见解不同,在这里我阐述一下本人有限脑容量下面的一个对于搜索的理解:
- 第一点搜索必须快吧,这肯定是必须的必呀,要是花了好几分钟才出来,这玩意谁愿意用啊,所以使用搜索引擎的第一个指标就是快速检索出结果。
- 第二点必须准确吧,假如我搜索关键词电脑,结果搜索出来的结果是一些奇奇怪怪的东西,要是在这时候投屏怕不是会陷入社死的尴尬吧。
- 第三点对于我这种比较粗心的人还是需要有一点的容忍度,哪怕输错其中一个字,也可以给出相关的搜索结果。
- 第四点对于大部分人而言,相信大多数人都会希望进行搜索的时候可以有相关的搜索选项提供选择,而不是都是需要自己相办法去思考所有的关键词,毕竟人都是喜欢偷懒的,从某种程度上而言,人们的偷懒促进了现代社会的发展。
说完这几点相信很多的搜索引擎都是奔着这几个目标去的,显而易见 ElasticSearch 满足了上面所有的搜索的基本要求,相信小白(包括我啦)到这里都很想去尝试一下,网上的安装教程和简单 HelloWorld 都是有的,可以自己使用单机版简单的玩耍一下,在这里就不一一赘述了。简单的 Demo 过后是不是很多人都好奇 ElasticSearch 搜索的具体实现方式是怎么实现的,是依靠什么满足上诉第一点的要求,那么开启