Elasticsearch 基本使用姿势二
2023-09-27 01:52:14
查询指定字段
Elasticsearch 允许您查询特定字段。只需在查询中指定字段名称即可。例如,要查询标题字段中包含“Elasticsearch”一词的文档,可以使用以下查询:
{
"query": {
"match": {
"title": "Elasticsearch"
}
}
}
限制返回条数
默认情况下,Elasticsearch 会返回所有匹配查询的文档。但是,您可以使用 size
参数限制返回的文档数量。例如,要限制返回的前 10 个文档,可以使用以下查询:
{
"query": {
"match_all": {}
},
"size": 10
}
分页查询
Elasticsearch 还允许您对查询结果进行分页。为此,您需要使用 from
和 size
参数。from
参数指定要跳过的文档数,size
参数指定要返回的文档数。例如,要跳过前 10 个文档并返回接下来的 10 个文档,可以使用以下查询:
{
"query": {
"match_all": {}
},
"from": 10,
"size": 10
}
分组查询
Elasticsearch 允许您对查询结果进行分组。为此,您需要使用 group_by
参数。group_by
参数指定要分组的字段。例如,要按作者对查询结果进行分组,可以使用以下查询:
{
"query": {
"match_all": {}
},
"group_by": "author"
}
高亮
Elasticsearch 允许您高亮查询结果中的匹配文本。为此,您需要使用 highlight
参数。highlight
参数指定要高亮的字段。例如,要高亮标题字段中的匹配文本,可以使用以下查询:
{
"query": {
"match": {
"title": "Elasticsearch"
}
},
"highlight": {
"fields": {
"title": {}
}
}
}
自动补全提示
Elasticsearch 允许您提供自动补全提示。为此,您需要使用 suggest
参数。suggest
参数指定要提供自动补全提示的字段。例如,要为标题字段提供自动补全提示,可以使用以下查询:
{
"suggest": {
"title-suggest": {
"prefix": "Elastic",
"completion": {
"field": "title"
}
}
}
}
排序
Elasticsearch 允许您对查询结果进行排序。为此,您需要使用 sort
参数。sort
参数指定要排序的字段和排序顺序。例如,要按标题字段升序对查询结果进行排序,可以使用以下查询:
{
"query": {
"match_all": {}
},
"sort": [
{
"title": {
"order": "asc"
}
}
]
}
返回结果聚合
Elasticsearch 允许您对查询结果进行聚合。为此,您需要使用 aggregations
参数。aggregations
参数指定要执行的聚合类型。例如,要统计查询结果中包含的文档数量,可以使用以下查询:
{
"query": {
"match_all": {}
},
"aggregations": {
"total_docs": {
"value_count": {
"field": "_doc"
}
}
}
}