Query-string搜索通过命令非常方便地进行临时性的及时搜索,但他有自身的局限性(参见轻量搜索)。Elasticsearch提供一个非常灵活的查询语言叫做查询表达式,他支持构建更加复杂和健壮的查询。
领域特定语言(DSL),使用JSON 构造了一个请求。我们可以像这样重写之前的查询所有名为Smith的搜索。
GET /megacorp/employee/_search{"query" : {"match" : {"last_name" : "Smith"}}}
返回结果与之前的查询一样,但还是可以看到有一些变化。其中之一是,不再使用Query-string参数,而是一个请求体替代。这个请求使用JSON构造,并使用了一个match查询(属于查询类型之一,后面将继续介绍)。
