Elasticsearch基础及RESTful方式操作,一看就会

1. 关于Elasticsearch

Elasticsearch是一个实时的分布式搜索和分析引擎。能用较快的速度去处理大规模数据。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful接口。

Elasticsearch底层用Java开发,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎,多用于云计算中,能够快速地实时搜索。

Elasticsearch快速、稳定、可靠、安装和使用十分方便,已成为越来越流行的搜索组件构建工具。

2. Elasticsearch特点

(1)可以作为一个大型分布式集群(多台服务器),应用于企业级项目,处理PB级数据,也可以作为单机版,运行在单机上。

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

(3)开箱即用,部署使用十分简单。

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

3. Elasticsearch体系结构

Elasticsearch与MySQL比较,各部分对比如下:

MySQL 中有数据库(Database)、表(Table)、行(Row),

Elasticsearch中有索引(Index)、类型(Type)、文档(Document)

4. 下载、安装及启动

4.1 下载

从以下站点下载:https://www.elastic.co/downloads/past-releases/elasticsearch-6-5-4

4.2 安装

解压即可用,无需安装

4.3 启动

cd ~/elasticsearch/bin
  ./elasticsearch

4.4 查看

成功启动后,可以看到ES启用了两个端口:9300和9200,其中Java开发用9300,其它用9200。

Chrome中输入:http://127.0.0.1:9200/,看到如下类似信息,则表示启动成功:

{
  "name" : "yl_node_1",
  "cluster_name" : "ylonline",
  "cluster_uuid" : "vFqniIIQR5y9V_lJNRTrpA",
  "version" : {
    "number" : "6.5.4",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "d2ef93d",
    "build_date" : "2018-12-17T21:17:40.758843Z",
    "build_snapshot" : false,
    "lucene_version" : "7.5.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

5. RESTful方式操作

5.1 新建索引

http://127.0.0.1:9200/newsindex/,用Postman工具PUT方式提交

返回结果:

{

“acknowledged”: true,

“shards_acknowledged”: true,

“index”: “newsindex”

}

5.2 新建文档

http://127.0.0.1:9200/newsindex/news,用Postman工具POST方式提交

{
		"title":"乌孙古道穿越天山山脉",
		"content":"乌孙古道穿越天山山脉,徒步线路北起新疆伊犁特克斯县,南至新疆阿克苏地区拜城县,沿途可以看到高山草甸、峡谷、雪山、河流等,途中天堂湖的美景更是让不少驴友向往。"
}

返回结果:

{
    "_index": "newsindex",
    "_type": "news",
    "_id": "s8OxK4IBouFOjM8f3Mc2",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

5.3 查看全部文档

http://127.0.0.1:9200/newsindex/news/_search,用Postman工具GET方式

返回结果:

{
    "took": 143,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 1,
        "max_score": 1.0,
        "hits": [
            {
                "_index": "newsindex",
                "_type": "news",
                "_id": "s8OxK4IBouFOjM8f3Mc2",
                "_score": 1.0,
                "_source": {
                    "title": "乌孙古道穿越天山山脉",
                    "content": "乌孙古道穿越天山山脉,徒步线路北起新疆伊犁特克斯县,南至新疆阿克苏地区拜城县,沿途可以看到高山草甸、峡谷、雪山、河流等,途中天堂湖的美景更是让不少驴友向往。"
                }
            }
        ]
    }
}

5.4 修改文档

http://127.0.0.1:9200/newsindex/news/s8OxK4IBouFOjM8f3Mc2,用Postman工具PUT方式提交,选择Body->raw、JSON

{
		"title":"乌孙古道穿越天山山脉,乌孙古道穿越天山山脉",
		"content":"乌孙古道穿越天山山脉,徒步线路北起新疆伊犁特克斯县,南至新疆阿克苏地区拜城县,沿途可以看到高山草甸、峡谷、雪山、河流等,途中天堂湖的美景更是让不少驴友向往。"
}

返回结果:

{
    "_index": "newsindex",
    "_type": "news",
    "_id": "s8OxK4IBouFOjM8f3Mc2",
    "_version": 2,
    "result": "updated",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 1,
    "_primary_term": 1
}

如果ID不存在,则会创建文档。

5.5 根据ID查询

http://127.0.0.1:9200/newsindex/news/tcO_K4IBouFOjM8fgMcJ,用Postman工具GET方式

5.6 条件模糊查询

http://127.0.0.1:9200/newsindex/news/_search?q=title:生活,用Postman工具GET方式

{
    "took": 5,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 1,
        "max_score": 0.5753642,
        "hits": [
            {
                "_index": "newsindex",
                "_type": "news",
                "_id": "tcO_K4IBouFOjM8fgMcJ",
                "_score": 0.5753642,
                "_source": {
                    "title": "宁静喊你静享生活",
                    "content": "不得不说,宁静散发出的底气与睿智"
                }
            }
        ]
    }
}

5.7 删除

http://127.0.0.1:9200/newsindex/news/tMO-K4IBouFOjM8fUsdT,用Postman工具Delete方式

{
    "_index": "newsindex",
    "_type": "news",
    "_id": "tMO-K4IBouFOjM8fUsdT",
    "_version": 2,
    "result": "deleted",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 3,
    "_primary_term": 1
}
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章