目录
? ? ?Elasticsearch 是一个基于 Lucene 的搜索引擎,提供了丰富的查询DSL(Domain Specific Language)用于执行搜索操作。以下是Elasticsearch中常用的查询语句类型、作用、使用场景、注意事项以及每种查询的实际例子。
{
"query": {
"match": {
"message": "this is a test"
}
}
}
例子:
{
"query": {
"term": {
"status": {
"value": "active"
}
}
}
}
{
"query": {
"terms": {
"status": ["active", "pending"]
}
}
}
{
"query": {
"range": {
"age": {
"gte": 10,
"lte": 20
}
}
}
}
{
"query": {
"bool": {
"must": [
{ "match": { "title": "search" } },
{ "match": { "content": "Elasticsearch" } }
],
"must_not": [
{ "range": { "age": { "gte": 30 } } }
],
"should": [
{ "term": { "tag": "wow" } },
{ "term": { "tag": "elasticsearch" } }
],
"minimum_should_match": 1,
"boost": 1.0
}
}
}
{
"query": {
"wildcard": {
"user": {
"value": "ki*y"
}
}
}
}
{
"query": {
"fuzzy": {
"name": {
"value": "kiim",
"fuzziness": 2
}
}
}
}
{
"query": {
"prefix": {
"user": {
"value": "ki"
}
}
}
}
{
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "state.keyword"
}
}
}
}