Elasticsearch快速入门基础

 

基础概念
    索引(Index)
        ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库

    文档(Document)
        Index 中的每条数据记录被称为 Document(文档)。多条 Document 构成了一个 Index
    分类(Type)
        相当与数据库中的table,
    字段(Field)
        定义的字段名称,相当于数据库的column
    映射(Mapping)
        定义每个 field 的数据类型以及这些属性如何分词等相关


数据类型
    字符串类型
        text
        string
    数值类型
        long
        integer
        short
        byte
        double
        float
    日期类型
        date

索引
    创建
        PUT 请求: http://esip:es端口号/索引名称
    创建别名
        POST 请求: http://esip:es端口号/_aliases
请求Body:  
{
  "actions" : [{"add" : {"index" : "test_index" , "alias" : "test_index_alias"}}]
}
    别名查询
        GET 请求: http://esip:es端口号/索引名称/_alias/*

分词器
    {
    "tokenizer": "standard",
    "text": "有限公司"
}
分词结果:“有”、“限”、“公”、“司”
所以当用tag字段查询时,用以上关键字都能匹配出插入的数据
    {
    "tokenizer": "ik_max_word",
    "text": "有限公司"
}
分词结果:“有限公司”、“有限”、“公司”
所以当用name 字段查询时,用以上关键字都能匹配出插入的数据
    {
    "tokenizer": "ik_smart",
    "text": "有限公司"
}
分词结果:“有限公司”
所以当用title 字段查询时,用以上关键字都能匹配出插入的数据

查询器
    term
        查询搜索的词语不做分词,用于精确匹配
    terms
        精确查询、不支持分词器,用于满足多个值,相当于sql 中 in的查询
    match
        match查询和term查询相反,知道分词器的存在,会对字符串类型且为text类型词语进行分词
    match_phrase
        短语匹配查询,对搜索条件解析成一个词项,然后对这些词项进行搜索,只保留那些包含全部搜索词项
    range
        查询范围类的数据、且可以按照选定字段倒叙、正序,类似于DB的between和order by
    from,size
        
            from: 从第几条数据开始查询
        size: 查询多少数量数据
    bool 
        
            must: 查询的结果必须匹配查询条件,相当于DB查询用and
            should : 查询结果必须符合查询条件中的一个或多个,相当于DB查询用or
            must_not: 查询结果必须不符合查询条件 ,相当于DB查询用 !=
        之前的基础查询都是满足单个条件,而布尔查询可实现将多个查询组合起来
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值