ES常用查询命令备忘录

1. ES查询

官方文档

接口:GET /_search

空查询

{
     }

{
     
    "query": {
     
        "match_all": {
     }
    }
}

range 查询

  • gt 大于
  • gte 大于等于
  • lt 小于
  • lte 小于等于
{
     
  "query": {
     
    "range": {
     
      "field": {
     
        "gte": 20,
        "lt": 30
      }
    }
  }
}

term 精确查询

{
     
  "query": {
     
    "term": {
     
      "field": "value"
    }
  }
}

terms 多值查询

{
     
  "query": {
     
    "terms": {
     
      "field": ["value1","value2"]
    }
  }
}

match全文查询

  • 既能处理全文字段,又能处理精确字段
{
     
  "query": {
     
    "match": {
     
      "field": "text"
    }
  }
}

multi_match多字段 查询

{
     
  "query": {
     
    "multi_match": {
     
      "query": "text",
      "fields": ["field1", "field2"]
    }
  }
}

match_phrase短语查询

  • 与match的区别是:match_phrase搜索词项(分词后)的顺序位置要一致,匹配更严格
{
     
  "query": {
     
    "match_phrase": {
     
      "field": "your text"
    }
  }
}

query_string查询

  • 与match的区别是:match匹配指定字段;而query_string默认匹配所有合适字段,也可指定查询字段(default_field
{
     
  "query": {
     
    "query_string": {
     
      "query": "text",
      "default_field": "field"
    }
  }
}

exists 查询和 missing 查询

{
     
  "query": {
     
    "exists": {
     
      "field": "value"
    }
  }
}

bool 组合多查询

  • must:必须都匹配这些条件,与 AND 等价
  • must_not:必须不匹配这些条件,与 NOT 等价
  • should:至少匹配这些条件中的一个,与 OR 等价
  • filter:必须匹配,但它以不评分、过滤模式来进行
{
     
  "query": {
     
    "bool": {
     
      "must": {
     
        "match": {
     
          "field1": "value1"
        }
      },
      "must_not": {
     
        "match": {
     
          "field2": "value2"
        }
      },
      "should": [
        {
     
          "match": {
     
            "field3": "value3"
          }
        },
        {
     
          "range": {
     
            "field4": {
     
              "gte": 4
            }
          }
        }
      ]
    }
  }
}

2. 分析与分析器

测试分析器

GET /_analyze
{
     
  "analyzer": "standard",
  "text": "Text to analyze"
}

官方文档

3. 查看映射

GET /index_name/_mapping

官方文档

你可能感兴趣的:(ES,elasticsearch,es,es搜索命令)