中國采招網(wǎng)沈陽seo推廣
Elasticsearch 常用查詢
- match:全文查詢
- exists:查詢存在的字段
- must_not:查詢不存在的字段
- ids:跟據(jù)id查詢
- prefix:前綴查詢
- range: 查詢范圍
- term:精準(zhǔn)查詢
- terms:多術(shù)語查詢
本文基于es 7.4版本文檔
match:全文查詢
{"query": {"match" : {"message" : {"query" : "this is a test"}}}
}
exists:查詢存在的字段
{"query": {"exists": {"field": "user"}}
}
must_not:查詢不存在的字段
{"query": {"bool": {"must_not": {"exists": {"field": "user"}}}}
}
ids:跟據(jù)id查詢
每個文檔都有一個唯一標(biāo)識它的 _id,該 _id 已加入索引,以便可以使用 GET API 或 ids 查詢來查找文檔。
{"query": {"ids" : {"values" : ["1", "4", "100"]}}
}
prefix:前綴查詢
{"query": {"prefix" : { "user" : "ki" }}
}
range: 查詢范圍
gt:大于
gte:大于等于
lt:小于
lte:小于等于
format:用于轉(zhuǎn)換查詢中的日期值的日期格式。
默認(rèn)情況下,Elasticsearch 使用 映射中提供的日期格式。 該值會覆蓋該映射格式。
{"query": {"range" : {"age" : {"gte" : 10,"lte" : 20,"boost" : 2.0}}}
}
term:精準(zhǔn)查詢
返回在提供的字段中包含確切術(shù)語的文檔。
您可以使用術(shù)語查詢根據(jù)精確值(例如價(jià)格、產(chǎn)品 ID 或用戶名)查找文檔。
避免對文本的字段使用 term查詢。
默認(rèn)情況下,Elasticsearch 會更改文本字段的值作為分析的一部分。 這可能會使查找文本字段值的精確匹配變得困難。
要搜索普通文本字段值,建議用match查詢。
{"query": {"term": {"user": {"value": "Kimchy","boost": 1.0}}}
}
terms:多術(shù)語查詢
{"query" : {"terms" : {"user" : ["kimchy", "elasticsearch"],"boost" : 1.0}}
}