Elasticsearch 查询语法
    		       		warning:
    		            这篇文章距离上次修改已过450天,其中的内容可能已经有所变动。
    		        
        		                
                Elasticsearch 查询语法是基于 JSON 的,并且包含多种不同类型的查询。以下是一些常见查询的例子:
- 全文查询(Full text query):
 
{
  "query": {
    "match": {
      "field": "text"
    }
  }
}- 多字段全文查询(Multi-field full text query):
 
{
  "query": {
    "multi_match": {
      "query": "text",
      "fields": ["field1", "field2"]
    }
  }
}- 精确匹配查询(Term query):
 
{
  "query": {
    "term": {
      "field": {
        "value": "value"
      }
    }
  }
}- 范围查询(Range query):
 
{
  "query": {
    "range": {
      "field": {
        "gte": 10,
        "lte": 20
      }
    }
  }
}- 复合查询(Bool query):
 
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "field": "text"
        }
      },
      "filter": {
        "term": {
          "field": "value"
        }
      },
      "must_not": {
        "range": {
          "field": {
            "gt": 50,
            "lt": 10
          }
        }
      }
    }
  }
}- 排序(Sorting):
 
{
  "query": {
    "match_all": {}
  },
  "sort": [
    { "field": "asc" },
    { "other_field": "desc" }
  ]
}- 分页(Pagination):
 
{
  "query": {
    "match_all": {}
  },
  "from": 10,
  "size": 10
}- 高亮搜索结果(Highlighting):
 
{
  "query": {
    "match": {
      "field": "text"
    }
  },
  "highlight": {
    "fields": {
      "field": {}
    }
  }
}这些查询可以根据需求组合和嵌套,以执行更复杂的搜索操作。
评论已关闭