Elasticsearch常用查询语句
时间: 2024-10-29 09:05:06 浏览: 24
ES-elasticsearch 常用语句
Elasticsearch是一种流行的搜索引擎库,其查询语句非常强大,支持各种复杂的搜索操作。以下是一些常用的查询语句:
1. **Match Query**:最基本的全文本匹配查询,返回包含指定关键词的文档。例如:
```
GET /_search
{
"query": {
"match": { "field_name": "search_text" }
}
}
```
2. **Term Query**:用于精确匹配字段值,比如只查找名为“John”的文档:
```
GET /_search
{
"query": {
"term": { "field_name": "John" }
}
}
```
3. **Range Query**:筛选出在特定范围内的数值,如日期或数值字段:
```
GET /_search
{
"query": {
"range": { "field_name": { "gte": "start_date", "lte": "end_date" } }
}
}
```
4. **Prefix Query**:返回字段值以指定前缀开始的结果:
```
GET /_search
{
"query": {
"prefix": { "field_name": "pre_" }
}
}
```
5. **Fuzzy Query**:容忍一定程度的拼写错误或模糊匹配:
```
GET /_search
{
"query": {
"fuzzy": { "field_name": { "value": "approx_word" } }
}
}
```
6. **Boolean Query**:组合其他查询,如AND、OR和NOT:
```
GET /_search
{
"query": {
"bool": {
"must": [ { "match": { "field_name": "word" } }, { "range": { "another_field": { "gt": 10 } } } ]
}
}
}
```
7. **Aggregation**:对结果集进行分组和统计分析,如计数、平均值等。
阅读全文