ES中, 全文检索的DSL 样例
时间: 2024-04-28 15:24:45 浏览: 7
在Elasticsearch中,可以使用DSL(Domain Specific Language)来进行全文检索。DSL是一种结构化的查询语言,用于构建复杂的查询和过滤条件。下面是一些常见的全文检索DSL样例:
1. 匹配查询(Match Query):根据指定的字段和关键词进行匹配查询。
```json
{
"query": {
"match": {
"title": "apple"
}
}
}
```
2. 多字段匹配查询(Multi-match Query):在多个字段中进行匹配查询。
```json
{
"query": {
"multi_match": {
"query": "apple",
"fields": ["title", "description"]
}
}
}
```
3. 短语匹配查询(Match Phrase Query):根据指定的短语进行匹配查询。
```json
{
"query": {
"match_phrase": {
"title": "red apple"
}
}
}
```
4. 组合查询(Bool Query):通过逻辑运算符组合多个查询条件。
```json
{
"query": {
"bool": {
"must": [
{ "match": { "title": "apple" } },
{ "range": { "price": { "gte": 10, "lte": 50 } } }
],
"filter": [
{ "term": { "category": "fruit" } }
]
}
}
}
```
5. 范围查询(Range Query):根据指定的范围进行匹配查询。
```json
{
"query": {
"range": {
"price": {
"gte": 10,
"lte": 50
}
}
}
}
```
这些示例只是DSL中的一小部分,Elasticsearch还提供了许多其他查询类型和过滤条件,以满足不同的搜索需求。您可以根据具体的业