ElasticSearch 部署与启动

ElasticSearch 简介

Elasticsearch是一个近实时分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。ElasticSearch 是一个基于 Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java开发的,并作为 Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

ElasticSearch 特点

1)可以作为一个大型分布式集群(数百台服务器)技术,处理 PB级数据,服务大公司;也可以运行在单机上

(2)将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的ES;

(3)开箱即用的,部署简单

(4)全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理

ElasticSearch 体系结构

下表是 Elasticsearch 与 MySQL 数据库逻辑结构概念的对比

Elasticsearch关系型数据库 Mysql
索引(index)数据库(databases)
类型(type)表(table)
文档(document)行(row)

 

 

下载安装

 

下载 ElasticSearch 5.6.8 版本https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-8资源配套软件中也提供了安装包无需安装,解压安装包后即可使用

在命令提示符下,进入 ElasticSearch 安装目录下的 bin 目录,执行命令

elasticsearch 

即可启动

9300部署应用端口   9200api带哦用端口

 

。我们打开浏览器,在地址栏输入 http://127.0.0.1:9200 即可看到输出结果

{
  "name" : "WHc9-q3",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "046IGPSvTHms9oMPgExWnA",
  "version" : {
    "number" : "5.6.8",
    "build_hash" : "688ecce",
    "build_date" : "2018-02-16T16:46:30.010Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

apipost   或者 Postman REST API

Postman 调用 REST API

 

新建索引

例如我们要创建一个叫 bookindex 的索引 ,就以

put 方式提交http://127.0.0.1:9200/bookindex/

一个索引库相当一个数据库

新建文档

新建文档:

post 方式提交 http://127.0.0.1:9200/bookindex/book 

body

{
    "name":"java23中涉及模式",
    "author":"某某某"

}

返回结果如下:

{
    "_index": "bookindex",
    "_type": "book",
    "_id": "AW8YnIjeo30Qeaxa168o",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "created": true
}

id 是由系统自动生成的。 

查询某索引某类型的全部数据,以

get 方式请求

http://127.0.0.1:9200/bookindex/book/_search返回结果如下:

{
    "took": 114,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 3,
        "max_score": 1,
        "hits": [
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnIjeo30Qeaxa168o",
                "_score": 1,
                "_source": {
                    "name": "java23中涉及模式",
                    "author": "某某某"
                }
            },
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnsKYo30Qeaxa168p",
                "_score": 1,
                "_source": {
                    "name": "solr集成",
                    "author": "某某某"
                }
            },
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8Ynw60o30Qeaxa168q",
                "_score": 1,
                "_source": {
                    "name": "springboot精通",
                    "author": "某某某"
                }
            }
        ]
    }
}

修改文档

put 形式提交以下地址

http://127.0.0.1:9200/bookindex/book/AW8YnIjeo30Qeaxa168o

body

{
    "name":"java的23中设计模式",
    "author":"某某某某"

}

返回结果

{
    "_index": "bookindex",
    "_type": "book",
    "_id": "AW8YnIjeo30Qeaxa168o",
    "_version": 2,
    "result": "updated",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "created": false
}

如果我们在地址中的 ID 不存在,则会创建新文档

put 形式提交以下地址:

http://127.0.0.1:9200/bookindex/book/

{
    "name":"tomcat调优",
    "author":"某某某某"

}

返回

{
    "took": 5,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 3,
        "max_score": 1,
        "hits": [
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnIjeo30Qeaxa168o",
                "_score": 1,
                "_source": {
                    "name": "java的23中设计模式",
                    "author": "某某某某"
                }
            },
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnsKYo30Qeaxa168p",
                "_score": 1,
                "_source": {
                    "name": "solr集成",
                    "author": "某某某"
                }
            },
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8Ynw60o30Qeaxa168q",
                "_score": 1,
                "_source": {
                    "name": "springboot精通",
                    "author": "某某某"
                }
            }
        ]
    }
}

再次查询,看是否有新增的这条文档

http://127.0.0.1:9200/bookindex/book/_search

基本匹配查询

根据某列进行查询

get 方式提交下列地址:

http://127.0.0.1:9200/bookindex/book/_search?q=name:java

返回

{
    "took": 23,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 1,
        "max_score": 0.25811607,
        "hits": [
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnIjeo30Qeaxa168o",
                "_score": 0.25811607,
                "_source": {
                    "name": "java的23中设计模式",
                    "author": "某某某某"
                }
            }
        ]
    }
}

模糊查询

我们可以用*代表任意字符:

http://127.0.0.1:9200/bookindex/book/_search?q=name:*o*

返回

{
    "took": 26,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 2,
        "max_score": 1,
        "hits": [
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8YnsKYo30Qeaxa168p",
                "_score": 1,
                "_source": {
                    "name": "solr集成",
                    "author": "某某某"
                }
            },
            {
                "_index": "bookindex",
                "_type": "book",
                "_id": "AW8Ynw60o30Qeaxa168q",
                "_score": 1,
                "_source": {
                    "name": "springboot精通",
                    "author": "某某某"
                }
            }
        ]
    }
}

 

删除文档

根据 name 删除文档,删除 name 为 1 的文档

DELETE 方式提交

http://127.0.0.1:9200/bookindex/book/AW8YnsKYo30Qeaxa168p

再次查看全部是否还存在此记录

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值