关于ElasticSearch:Elastic-Stack学习笔记01

3次阅读

共计 1173 个字符,预计需要花费 3 分钟才能阅读完成。

Elasticsearch

参考教程:
https://www.bilibili.com/vide…
https://gitee.com/moxi159753/…
官网文档:
https://www.elastic.co/guide/…

基本概念

  • 索引(index):对逻辑数据的逻辑存储,能够了解为 mysql 的表
  • 文档(document):次要实体,能够了解为 mysql 的一行记录
  • 映射(mapping):文档的属性,字段,每个字段的数据类型
  • 文档类型:一个索引能够有多个类型;同一索引中,同一属性文档类型必须雷同。

RESTful API

创立索引
PUT /haoke
{
    "settings": {
        "index": {
        "number_of_shards": "2", #分片数
        "number_of_replicas": "0" #正本数
        }
    }
}
删除索引

DELETE /{索引}
不须要额定的参数

插入数据

URL 规定:POST /{索引}/{类型}/{id( 非必填)}

POST /haoke/user/
{
    "id": 1,
    "name": "test"
}


_id 为惟一标识符,id 为参数

更新数据

ES 中文档数据不能批改,只能笼罩更新 (全量)
PUT /{索引}/{类型}/{id}

{
    "id": 1,
    "name": "test2"
}
部分更新

ES 中文档数据不能批改,只能笼罩更新 (全量)
POST /{索引}/{类型}/{id}/_update

{
    "doc":{"name": "test3"}
}
删除数据

DELETE /{索引}/{类型}/{id}
不须要额定的参数

搜寻数据
依据 ID 搜寻

GET /{索引}/{类型}/{id}
不须要额定的参数

搜寻全副数据

GET /{索引}/{类型}/_search
不须要额定的参数

关键字搜寻

GET /{索引}/{类型}/_search?q={字段}:{值}
不须要额定的参数

DSL 查问

POST /{索引}/{类型}/_search
例 1:查问 30 岁的用户

{
    "query" : {
        "match" : {"age" : 30}
    }
}

例 2:查问大于等于 30 岁,名字为 test 的用户

{
    "query": {
        "bool": {
            "filter": {
                    "range": {
                        "age": {"gte": 30}
                }
            },
            "must": {
                "match": {"name": "test"}
            }
        }
    }
}
全文搜寻

POST /{索引}/{类型}/_search

{
    "query": {
        "match": {"name": "test"}
    }
}
后果高亮显示

POST /{索引}/{类型}/_search

{
    "query": {
        "match": {"name": "test"}
    },
    "highlight": {
        "fields": {"name": {}
        }
    }
}
聚合

相似 mysql 的 group by 操作

{
    "aggs": {
        "all_interests": {
            "terms": {"field": "age"}
        }
    }
}
正文完
 0