大数跨境

初识Elasticsearch--基本操作

初识Elasticsearch--基本操作 菲斐科技
2021-04-08
2
导读:Elasticsearch作为一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

 Elasticsearch作为一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。


本次我们简单介绍下elasticsearch中的一些基本概念以及通过不同工具的数据交互操作。


基本概念



这里简单介绍下elasticsearch中的

IndexTypeDocument的基本概念。


1

index

索引是文档(Document)的容器,是一类文档的集合。

索引这个词在 ElasticSearch 会有三种意思:


1)  索引(名词)

类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库(Database)索引由其名称(必须为全小写字符)进行标识


2)  索引(动词)

保存一个文档到索引(名词)的过程。这非常类似于SQL语句中的 INSERT关键词。如果该文档已存在时那就相当于数据库的UPDATE。


3)  倒排索引

关系型数据库通过增加一个B+树索引到指定的列上,以便提升数据检索速度。索引ElasticSearch 使用了一个叫做 倒排索引的结构来达到相同的目的。



2

Type 

可以理解成关系数据库中Table。

之前的版本中,索引和文档中间还有个类型的概念,每个索引下可以建立多个类型,文档存储时需要指定index和type。从6.0.0开始单个索引中只能有一个类型,7.0.0以后将将不建议使用。


3

Document Index 

里面单条的记录称为Document(文档)等同于关系型数据库表中的行



安装


搜索Elasticsearch,进入Elasticsearch的官网(https://www.elastic.co/cn/elasticsearch/),在官网界面点击下载按钮,选择自己的版本进行下载。


目前最新版本的Elasticsearch已经是7.12,这里我们点击past releases选择之前的版本。



下载后elasticsearch压缩包的解压到电脑的自定义安装目录,进入bin目录下,双击执行elasticsearch.bat。




看到elasticsearch运行程序显示starting,已经运行成功,我们可以访问local host:9200查看的elasticsearch版本信息。




数据交换—Postman


Elasticsearch可以通过HTTP RESTful API 操作数据,此次我们通过postman进行一些数据操作的示例。


01

创建引索  

curl -XPUT IP:9200/索引名称(小写)


02

查看所有引索  

curl -XGET IP:9200/_all


03

删除引索  

curl -XDELETE IP:9200/索引名称


04

新增数据  

curl -XPUT IP:9200/索引名称/_doc/id

在body中传入json格式的数据,elasticsearch会根据传入的数据建立相应的字段。



05


通过ID搜索 

curl -XGET IP:9200/索引名称/_doc/id


06

通过参数搜索 

curl -XGET IP:9200/索引名称/_doc/_search

在body中传入json格式的数据,需要符合elasticsearch的语法。



数据交互—Kibana


使用kibana之前,需要在elasticsearch官网下载相应的kibana版本的安装包


下载后的安装包解压到相应安装目录,进入bin目录下,双击kibana.bat。



在浏览器输入ip:5601,进入kibana的操作页面。



在kibana的Dev Tools中可以通过相应的查询语句对elasticsearch进行数据操作。




数据交互—Java



01

引入jar包  


  

02

建立对应的实体,在实体中以注解的形式对elasticsearch进行参数的配置

在实体类上配置Document注解。

indexName:索引名称

type:数据类型

useServerConfiguration:是否使用服务器配置

CreateIndex:程序创建索引

@ID:标记为主键

Analyzer:指定分词器,standard为elasticsearch的默认分词器



03

建立一个继承elasticsearchRepository的接口类


04

通过接口类调用elasticsearch,接口类中包含了crud的各种方法


05

也可以通过BoolQueryBuilder进行类似kibana语法的搜索等

并且elasticsearch对搜索的结果会自己进行分页,也可以设置相应的分页参数。

  


结语





      本次初步介绍了Elasticsearch 的一些基本概念与基础操作,Elasticsearch 真正强大之处在于可以从无规律的数据中找出有意义的信息,从“大数据”到“大信息”,让躺在磁盘里没有价值的数据,通过ES拥有了无限的探索力。目前菲斐科技在大数据项目中,充分利用“术业有专攻”,运用当前流行且稳定技术方案,为客户带来更好的用户体验!




E



N



D





菲斐科技

www.flyfee.net


扫码关注更多资讯



【声明】内容源于网络
0
0
菲斐科技
关注大数据,聚焦小数据;菲斐科技在信息、数据、科技专业领域以务实创新的精神不断进行开拓实践和探索进取,目前已为众多国家机关、政府机构及企事业单位提供优质的服务和信息化整体解决方案。
内容 65
粉丝 0
菲斐科技 关注大数据,聚焦小数据;菲斐科技在信息、数据、科技专业领域以务实创新的精神不断进行开拓实践和探索进取,目前已为众多国家机关、政府机构及企事业单位提供优质的服务和信息化整体解决方案。
总阅读92
粉丝0
内容65