Elasticsearch搜索引擎学习(含JavaAPI)

一、ElasticSearch的认识

        ElasticSearch是(以下简称ES)一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

 

二、ES初体验(安装及使用)

       1.安装

         自认为ES的安装比较简单,我们只需要下载官方的运行包,启动服务即可。

         官方下载地址:https://www.elastic.co/downloads/elasticsearch

          安装好ES后我们还需要发起http请求的终端来接入,如kibana5等。

        2.使用

          运行ES服务,找到解压后文件夹的bin目录,双击elasticsearch.bat启动服务。

          在浏览器地址栏输入访问:http://localhost:9200/,若看到下图信息,你的ES已正常启动运行。

 三、ES数据管理

      1.ES文档

       ES是面向文档的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在ES中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。且ES是使用JSON作为文档序列化格式的,众所周知,JSON被大多数语言支持,已成为了NoSQL领域的标准格式。

       一个文档不只有数据。它还包含元数据(metadata)—关于文档的信息。包括(_index:文档储存的地方,_type:文档所代表对象的类,_id:文档的唯一标识)。

       2.文档的CRUD

        ① 使用自己的ID创建索引文档:PUT {index}/{type}/{ id}  也可以用ES的内置id创建。

        ② 获取指定ID的文档:GET {index}/{type}/{id}

        ③修改文档

             更新整个文档:PUT {index}/{type}/{id} ,在响应中ES把 _version  增加了。

             局部更新文档: POST {index}/{type}/{id},接受一个局部文档参数 doc,如下图代码块,数据存在即覆盖,新增即保存。

POST zy/employee/1/_update
{
“doc” : {
"email" : "zhangyang@8888888.cn", 
"salary": 9000
    }
}

         ④删除文档:DELETE {index}/{type}/{id} 。

 

       3.文档的简单查询

        ①通过文档id获取,如上获取指定文档。

        ②批量获取,两种方式如下:

方式1:GET _mget
{
"docs" : [
{
"_index" : "zy",
"_type" : "blog",
"_id" : 2
},
{
"_index" : "zy",
"_type" : "employee",
"_id" : 1,
"_source": ["name","age"]
}
]
}
方式2:同一个索引库的同一个类型下
GET zy/blog/_mget
{
"ids" : [ "1", "2" ]
}

          ③不含任何查询条件的空搜索,只返回集群中的所有文档: GET _search

          ④分页搜索:和sql返回一页数据类似,ES接收form和size参数。

                              size  : 每页条数,默认 10;

    &n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值