Elasticsearch查询语法

es常用查询

term 项

例: 搜 Dahlen, Malone

1
2
$filter[] = ['term' => ['ename' => 'accountcreate']];
$filter[] = ['term' => ['app_id' => 1000084]];

  

field 字段

field:value   例:city:Keyport, age:26

 

通配符

? 匹配单个字符      例: H?bbs

* 匹配0到多个字符           例: H*

注意: ? * 不能用作第一个字符,例如: ?text    *text

 

范围查询

age:[20 TO 30]        age:{20 TO 30}

注:[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内

1
2
3
4
5
6
7
8
9
$filter[] = [
    'range' => [
        '@timestamp' => [
            'gte' => $start_time,
            'lt' => $end_time,
            'format' => 'epoch_second',
        ],
    ],
];           

  

排序

1
2
3
$params['sort'] = [
    ['@timestamp' => ['order' => 'asc']],
];

  

逻辑操作

AND     OR       例子:firstname:H* AND age:20          firstname:H* OR age:20

+ :搜索结果中必须包含此项

- :不能含有此项

例: +firstname:H* -age:20 city:H*    firstname字段结果中必须存在H开头的,不能有年龄是20的,city字段H开头的可有可无

 

分组

(firstname:H* OR age:20) AND state:KS      先查询名字H开头年龄或者是20的结果,然后再与国家是KS的结合


字段分组

firstname:(+H* -He*)        搜索firstname字段里H开头的结果,并且排除firstname里He开头的结果


转义特殊字符

+ - && || ! () {} [] ^" ~ * ? : \

注意:以上字符当作值搜索的时候需要用 \ 转义

 

参考:https://blog.csdn.net/hu948162999/article/details/51258257

参考:https://blog.csdn.net/sinat_36005594/article/details/90449781

https://blog.csdn.net/u013473512/article/details/78163775

 https://blog.csdn.net/weixin_43865381/article/details/97904321

 

posted @   程序生(Codey)  阅读(452)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示