前言:
在日益增长的数据量面前,我们在进行某条信息搜索时,在几十亿条数据或几千亿行代码中精准查找某条或某些信息无疑是无比困难,此时使用全文检索便可解决此问题。
什么是全文检索(Full-text Search):
先建立索引,再对索引进行搜索的过程。可以简单的理解,像是字典里查找某个字时,会先查找部首或者拼音再去找读音,找到这个字后便可通过页码找到这个字的详细信息和用法。
什么是ElasticSearch:
ElasticSearch简称es,es是一个开源的高扩展的分布式全文检索引擎,有许多地方都能看到它的身影(例如百度)。
为什么要使用ElasticSearch:
它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是其目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
怎么使用ElasticSearch:
首先下载elasticsearch和其插件elasticsearch-head图形化界面
通过Restful风格的url请求操作ElasticSearch:
//curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>
//增删改查 Restful(get/post/put/delete...) 协议://ip地址:端口/api终端路径?json格式的请求体