Elasticsearch+head+Ik中文分词器的安装以及Go操作Elasticsearch
Go操作Elasticsearch
一、elasticsearch是什么
elasticsearch是一个基于Lucene的搜索服务器,采用Java语言编写,使用Lucene构建索引、提供搜索功能,并作为Apache许可条款下的开发源码发布,是当前流行的企业级搜索引擎。其实Lucene的功能已经很强大了,为什么还要多此一举的开发elasticsearch呢?原因是因为Lucene只是一个由Java语言编写的库,对不适用Java语言的开发人员并不友好。所以elasticsearch在Lucene上做了很多改进,提供了多种语言的接口。Lucene之于elasticsearch堪比发动机之于汽车,elasticsearch底层使用的仍然是Lucene的api,Lucene专注于底层搜索的建设,elasticsearch专注于企业应用。elasticsearch的目标是让全文搜索变得简单,开发者可以通过简单明了的restful api轻松实现搜索功能,而不必去面对Lucene的复杂性。
二、 elasticsearch的优点
- 分布式:Elasticsearch横向扩展非常方便灵活,当规模较小时可以使用小规模的集群,随着数据的增长,需要更大的容量和更高的性能,此时只需增加更多的节点,Elasticsearch的自动发现机制会识别新增的节点并重新平衡分配数据。
- 全文检索:Apache Lucene是一个用Java编写的高性能的功能齐全的信息检索库,Elasticsearch在底层使用Lucene来提供强大的全文检索,提供任何开源产品的能力。自带多语言支持、强大的查询语言、地理位置支持,