Elasticsearch简单使用

es

Match Query(分词查询):查询用于搜索包含指定词汇的文档,根据类型分词或者不分词。

GET /_search
{
  "query": {
    "match": {
      "field_name": "text to match"
    }
  }
}

Term Query(精确查询):用于精确匹配字段的值。

GET /_search
{
  "query": {
    "term": {
      "field_name": "exact_value"
    }
  }
}

Range Query(范围查询):用于匹配字段的范围,比如日期范围或数字范围。

GET /_search
{
  "query": {
    "range": {
      "field_name": {
        "gte": "start_value",
        "lte": "end_value"
      }
    }
  }
}

Bool Query(布尔查询):支持 must(相当于AND)、must_not(相当于NOT)、should(相当于OR) 三种逻辑操作。

GET /_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "field_name": "text to match"
          }
        },
        {
          "term": {
            "field_name": "value to exclude"
          }
        }
      ]
    }
  }
}

Exists Query(存在查询):匹配包含指定字段的文档。

GET /_search
{
  "query": {
    "exists": {
      "field": "field_name"
    }
  }
}

Wildcard Query(通配符查询):(?)代表一个字符,使用星号(*)代表零个或多个字符。

GET /_search
{
  "query": {
    "wildcard": {
      "field_name": "wildcard_pattern"
    }
  }
}

Fuzzy Query(模糊查询):可以允许纠正错误拼写的个数。

{
  "fuzzy": {
    "field_name": {
      "value": "search_term",
      "fuzziness": "AUTO"
    }
  }
}

文档信息

Search

    Table of Contents