es从新手到专家官方教程地址:后续步骤 | Elasticsearch: 权威指南 | Elastic
1、根据索引(index)+类型(type)+主键(id)查询数据
GET ima_alarm_dev_index_0422/ima_alarm_dev_type_0422/3714818012-2021121692705
效果如下图:
2、根据索引+类型+_search,查询该类型下所有数据默认10条,结果全部放在hit中
GET ima_alarm_dev_index_0422/ima_alarm_dev_type_0422/_search
如下图所示:
注意:返回结果不仅告知匹配了哪些文档还包括了整个文档本身,显示搜索结果给最终用户所需的全部信息
3、接下来进行条件搜索示例
1)使用请求条件搜索t_data_alarm_receive.jqlbdm=010000的信息
GET /ima_alarm_dev_index_0422/ima_alarm_dev_type_0422/_search?q=t_data_alarm_receive.jqlbdm:010000
结果如下图所示:
2)使用查询表达式进行搜索(查询姓名为刑井海的用户)
GET /ima_alarm_dev_index_0422/ima_alarm_dev_type_0422/_search
{
"query": {
"match": {
"t_data_alarm_receive.bjrxm": "邢井海"
}
}
}
查询结果如下图所示:
3)更负责的查询示例:如查询某个名字+某段时间范围内的数据
GET /ima_alarm_dev_index_0422/ima_alarm_dev_type_0422/_search
{
"query": {
"bool": {
"must": {
"match": {
"t_data_alarm_receive.bjrxm": "邢井海"
}
},
"filter": {
"range": {
"t_data_alarm_receive.fc_biz_time": {
"gte": "2021-06-16 15:53:34",
"lte": "2022-06-16 15:53:34"
}
}
}
}
}
}
结果如下图所示:
4)全文搜索:全文搜索如同相似性搜索,可以搜索某个词性匹配的(此功能暂时只适用于英文版本数据)
GET /megacorp/employee/_search
{
"query" : {
"match" : {
"about" : "rock climbing"
}
}
}
5)短语搜索:找出一个属性中独立词语是没有问题的,此功能适用于想要精确匹配一系列单词或短语
GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
}
}
6)高亮搜索:许多应用都倾向于在每个搜索结果中 高亮 部分文本片段,以便让用户知道为何该文档符合查询条件。在 Elasticsearch 中检索出高亮片段也很容易
GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
}
}
7)分析(聚合功能):Elasticsearch 有一个功能叫聚合(aggregations),允许我们基于数据生成一些精细的分析结果。聚合与 SQL 中的 GROUP BY 类似但更强大
举例,挖掘出员工中最受欢迎的兴趣爱好:
GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}



