Elasticsearch语法
时间: 2023-12-20 17:47:59 浏览: 203
elasticsearch基本语法
Elasticsearch是一种搜索引擎,它使用一种类似于SQL的查询语言,称为查询DSL(Domain Specific Language)来查询数据。下面是一些常用的Elasticsearch查询语法:
1. Term查询:用于精确匹配某个字段的值。例如:
```
GET /index/_search
{
"query": {
"term": {
"name": "John"
}
}
}
```
2. Match查询:用于模糊匹配某个字段的值。例如:
```
GET /index/_search
{
"query": {
"match": {
"description": "some text"
}
}
}
```
3. Multi-match查询:用于匹配多个字段的值。例如:
```
GET /index/_search
{
"query": {
"multi_match": {
"query": "some text",
"fields": ["name", "description"]
}
}
}
```
4. Range查询:用于匹配某个字段的值在一个范围内的文档。例如:
```
GET /index/_search
{
"query": {
"range": {
"age": {
"gte": 18,
"lte": 30
}
}
}
}
```
5. Bool查询:用于组合多个查询条件。例如:
```
GET /index/_search
{
"query": {
"bool": {
"must": [
{ "term": { "name": "John" } },
{ "range": { "age": { "gte": 18 } } }
],
"must_not": [
{ "term": { "gender": "male" } }
],
"should": [
{ "term": { "occupation": "doctor" } },
{ "term": { "occupation": "lawyer" } }
]
}
}
}
```
这些查询语法只是Elasticsearch查询语言中的一部分,Elasticsearch还提供了许多其他查询语法和参数,可以根据需要进行使用。
阅读全文