在elasticsearch(以下簡稱es)中,我們可以通過查詢json來搜索文檔。
查詢json(query json)是一個json格式的文本,用于描述我們想從es中檢索什么。
以下是一個簡單的查詢json示例:
{ "query": { "match": { "title": "elasticsearch" } } }
在這個例子中,我們使用了match查詢來搜索title字段中包含“elasticsearch”的文檔。
除了match查詢,es還支持各種其他類型的查詢,比如term、bool、range等。我們可以在查詢json中組合這些查詢來構建更復雜的查詢。
以下是一個包含多個查詢的查詢json示例:
{ "query": { "bool": { "must": [ { "match": { "title": "elasticsearch" } }, { "range": { "date": { "gte": "2022-01-01", "lte": "2022-12-31" } } } ], "must_not": [ { "term": { "status": "inactive" } } ], "should": [ { "match": { "body": "search engine" } } ], "minimum_should_match": 1 } } }
在這個例子中,我們使用了bool查詢來組合多個子查詢。must表示這些子查詢必須全部匹配,must_not表示這些子查詢必須全部不匹配,should表示這些子查詢可以匹配但不是必須的。minimum_should_match指定了至少有一個should查詢要匹配。
總之,查詢json是es中非常重要的概念,我們需要熟練掌握它的語法和使用方法。