一、什么是Elasticsearch
Elasticsearch是一个开源搜索引擎,可以处理各种文档类型的分布式数据,以实现数据的快速检索和分析。Elasticsearch的主要功能包括全文检索、结构化查询、分析和可视化。它使用json格式进行数据存储和检索,因此易于使用和扩展。
二、基本使用
1、创建索引
PUT /my_first_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text"
      },
      "content": {
        "type": "text"
      },
      "date": {
        "type": "date"
      }
    }
  }
}
2、添加文档
PUT /my_first_index/_doc/1
{
  "title": "Elasticsearch Tutorial",
  "content": "This is Elasticsearch Tutorial",
  "date": "2021-01-01"
}
3、搜索
GET /my_first_index/_search?q=Elasticsearch
三、查询DSL
1、match查询
GET /articles/_search
{
  "query": {
    "match": {
      "content": "Elasticsearch Tutorial"
    }
  }
}
2、match_phrase查询
GET /articles/_search
{
  "query": {
    "match_phrase": {
      "content": "Elasticsearch Tutorial"
    }
  }
}
3、bool查询
GET /articles/_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "title":   "Search" }},
        { "match": { "content": "Elasticsearch" }}
      ],
      "filter": [
        { "term":  { "status": true }}
      ],
      "must_not": [
        { "match": { "content": "Elasticsearch Introduction" }}
      ]
    }
  }
}
四、聚合
1、terms聚合
GET /articles/_search
{
  "aggs": {
    "tags": {
      "terms": {
        "field": "tags"
      }
    }
  }
}
2、range聚合
GET /articles/_search
{
  "aggs": {
    "price_range": {
      "range": {
        "field": "price",
        "ranges": [
          { "to": 10 },
          { "from": 10, "to": 20 },
          { "from": 20 }
        ]
      }
    }
  }
}
五、特殊功能
1、分页
GET /articles/_search
{
    "from": 0, "size": 10,
    "query" : {
      "match_all" : {}
    }
}
2、scroll查询
POST /articles/_search?scroll=1m
{
  "query": {
    "match_all": {}
  }
}
以上是Elasticsearch中文文档的简要介绍和使用,您可以进一步深入学习Elasticsearch的DSL、聚合、分页、scroll查询等更高级的功能以及实践中的应用,提高数据存储和检索的效率和准确性。
原创文章,作者:XJODG,如若转载,请注明出处:https://www.506064.com/n/331546.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 