项目总结进度Elasticsearch

Elasticsearch具备以下特点:分布式,无需人工搭建集群,Restful风格,一切API都遵循Rest原则,容易上手,近实时搜索,数据更新在Elasticsearch中几乎是完全同步的。

Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求

创建索引的请求格式:

  • 请求方式:PUT
  • 请求路径:/索引库名
  • 请求参数:json格式:

Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。

对比关系:

索引(indices)--------------------------------Databases 数据库

  类型(type)-----------------------------Table 数据表

     文档(Document)----------------Row 行

	   字段(Field)-------------------Columns 列 

使用kibana创建

kibana的控制台,可以对http请求进行简化,示例:

相当于是省去了elasticsearch的服务器地址

而且还有语法提示,非常舒服。

查看索引设置

语法:GET /索引库名

或者,我们可以使用*来查询所有索引库配置:

删除索引使用DELETE请求,当然,我们也可以用HEAD请求,查看索引是否存在:

2.5.映射配置

索引有了,接下来肯定是添加数据。但是,在添加数据之前必须定义映射。

什么是映射?

映射是定义文档的过程,文档包含哪些字段,这些字段是否保存,是否索引,是否分词等

2.5.2.查看映射关系

语法:

GET /索引库名/_mapping

我们从4块来讲查询:

  • 基本查询
    查询所有(match_all)
    匹配查询(match)
    多字段查询(multi_match)
    词条匹配(term)
    多词条精确匹配(terms)
  • _source过滤
  • 结果过滤
    默认情况下,elasticsearch在搜索的结果中,会把文档中保存在_source的所有字段都返回。如果我们只想获取其中的部分字段,我们可以添加_source的过滤
  • 高级查询
    布尔组合(bool)
    bool把各种其它查询通过must(与)、must_not(非)、should(或)的方式进行组合
    范围查询(range)
    ange`查询允许以下字符:
    操作符 说明
    gt 大于
    gte 大于等于
    lt 小于
    lte 小于等于
    模糊查询(fuzzy)
    过滤(filter):条件查询中进行过滤无查询条件,直接过滤
  • 排序
    单字段排序
    sort(艘特) 可以让我们按照不同的字段进行排序,并且通过order指定排序的方式
    多字段排序
    假定我们想要结合使用 price和 _score 进行查询,并且匹配的结果首先按照价格排序,然后按照相关性得分排序:

聚合aggregations

Elasticsearch中的聚合,包含多种类型,最常用的两种,一个叫桶,一个叫度量:

桶(bucket)

桶的作用,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶

度量(metrics)

分组完成以后,我们一般会对组中的数据进行聚合运算,例如求平均值、最大、最小、求和等,这些在ES中称为度量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值