欢迎投稿

今日深度:

ElasticSearch从入门到使用,elasticsearch入门

ElasticSearch从入门到使用,elasticsearch入门


概述

本篇内容定位ElasticSearch入门介绍,其中包括ElasticSearch产生背景,特点,应用场景,安装,使用(命令行,Java中引入),底层原理,等。

产生的背景

大数据时代,大量的数据只是被存储,不能做实时决策分析,这时候需要一个全文搜索,或者结构化数据的实时统计工具。
Elasticsearch 是一个分布式、可扩展、近实时的搜索与数据分析引擎。 它能从项目一开始就赋予你的数据以搜索、分析和探索的能力。

特点

分布式、可扩展、实时、处理PB级别的数据

应用场景

统计、搜索

安装方法

Linux下的安装方法如下,Windows可以自行百度:
1. 安装JDK1.8以上;
2. 下载ES安装包(5.6.8为例);https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
3. 解压,执行bin/elasticsearch
4. 当显示[INFO ][o.e.n.Node] [6-bjhwl] started时表示安装成功;
5. 也可以另打开一个终端,通过curl 'http://localhost:9200/?pretty'来测试。
参考:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/_installation.html

使用

基本使用

类似于MySQL,在某一类数据存入MySQL时,需要在MySQL中先创建库(database),再创建表(table),然后把数据存入insert进去,当需要查询的时候就select,需要删除就delete,需要更新就update
那么ES作为一个搜索引擎,是如何保存数据的,又是如何查询的,不需要了,又该怎么删除呢,并且当数据有误时,能修改吗?
1 . 再回答上面几个问题之前需要先引入几个概念

  • 索引
    索引是一类文档的集合,所有的操作比如索引(索引数据)、搜索、分析都是基于索引完成的。
    在一个集群中,可以定义任意数量的索引。
  • 类型
    类型可以理解成一个索引的逻辑分区,用于标识不同的文档字段信息的集合。
  • 文档
    文档是存储数据信息的基本单元,使用json来表示。
  • 节点
    一个ES服务器就成为一个节点,多个ES服务器就组成了集群。
  • 分片与备份
    在ES中,索引会备份成分片,每个分片是独立的lucene索引,可以完成搜索分析存储等工作。

2 . 举例子
看了上面的定义描述,再通过例子来了解下。
现在有个People对象,需要保存在ES中,People的定义如下:

public class People {
    private Long id;
    private String name;
    private String sex;
    private Float height;
    private Float weight;
    /**
     * 兴趣爱好
     */
    private String interests;
}

可以创建一个索引名称为people_index的索引,类型为people_type,类型是文档字段信息的集合,所以类型的json为

"properties": {
    "id": {
      "type": "long",
      "index": "not_analyzed"
    },
    "name": {
      "type": "string"
    },
    "sex": {
      "type": "string"
    },
    "height": {
      "type": "float",
      "index": "not_analyzed"
    },
    "weight":{
      "type": "float",
      "index": "not_analyzed"
    },
    "interests": {
      "type": "string",
      "analyzer": "ik"
    }
}

这里直接通过终端创建索引和类型比较麻烦,我安装了elasticsearch-head工具,安装方法https://github.com/mobz/elasticsearch-head。

Java中引入

Web-Demo项目

底层原理

总结

参考:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html
http://www.cnblogs.com/xing901022/p/4954947.html
https://es.xiaoleilu.com/010_Intro/00_README.html
https://blog.csdn.net/laigood/article/details/8193758

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/34482.html NewsArticle ElasticSearch从入门到使用,elasticsearch入门 概述 本篇内容定位ElasticSearch入门介绍,其中包括ElasticSearch产生背景,特点,应用场景,安装,使用(命令行,Java中引入),底层原理,等。...
相关文章
    暂无相关文章
评论暂时关闭