Elasticsearch创建雇员目录

一、索引雇员文档

1.一个ES集群可以包含多个索引,相应的每个索引可以包含多个类型。不同的类型存储着多个文档,每个文档又有多个属性。

1)索引(名词)——索引类似于传统关系数据库中的一个数据库。

2)索引(动词)——索引一个文档就是存储一个文档到索引中,以便与他可以被检索和查询到。类似于INSERT关键词,存在时新文档会替换旧文档。

3)倒排索引:类似于关系型数据库的索引或者B-tree。

4)默认,一个文档中的每一个属性都是被索引的和可搜索的,一个没有倒排索引的属性是不能被搜索到的。

2.对于雇员目录:

  • 每个雇员索引一个文档,包含该雇员所有信息;
  • 每个文档都是employee类型的;
  • 该文档位于索引megacorp内;
  • 该索引保存在我们的ES集群内

3.操作

1)插入雇员信息

PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
复制代码

2)查询某个雇员

GET /megacorp/employee/1

3)查询所有官员

GET /megacorp/employee/_search

4)模糊搜索

GET /megacorp/employee/_search?q=last_name:Smith

5)查询表达式

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}
复制代码

6)过滤器

GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {
                "match" : {
                    "last_name" : "smith" 
                }
            },
            "filter": {
                "range" : {
                    "age" : { "gt" : 30 } 
                }
            }
        }
    }
}
复制代码

7)全文检索

GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "about" : "rock climbing"
        }
    }
}
复制代码

ES默认按照相关性得分排序,第一个最高得分的结果。 相关性,完全区分传统关系型数据库的一个概念。

8)短语搜索


GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}
复制代码

9)高亮搜索——检索内容高亮

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {
        "fields" : {
            "about" : {}
        }
    }
}
复制代码

10)聚合(aggregations)

GET /megacorp/employee/_search
{
  "aggs": {
    "all_interests": {
      "terms": { "field": "interests" }
    }
  }
}
复制代码

Elasticsearch 尽可能地屏蔽了分布式系统的复杂性。这里列举了一些在后台自动执行的操作:

  • 分配文档到不同的容器 或 分片 中,文档可以储存在一个或多个节点中
  • 按集群节点来均衡分配这些分片,从而对索引和搜索过程进行负载均衡
  • 复制每个分片以支持数据冗余,从而防止硬件故障导致的数据丢失
  • 将集群中任一节点的请求路由到存有相关数据的节点
  • 集群扩容时无缝整合新节点,重新分配分片以便从离群节点恢复
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值