Elasticsearch之Search
Search API有两种查询方法:
1、URL Search
在URL中使用查询参数
使用"q",指定查询字符串
curl -XGET "http://192.168.1.234:9200/blogs/_search?q=mike"
curl -XGET "http://192.168.1.234:9200/blogs/_search" -H 'Content-Type:application/json' -d'
{
"query":{
"match_all":{}
}
}
2、Request Body Search
使用Elasticsearch提供的,基于JSON
指定字段 vs 范查询
q=title:2012/q=2012
指定字段查询
GET /blogs/_search?q=zhouqiang&df=title
GET /blogs/_search?q=user:zhouqiang”
范查询
GET /blogs/_search?q=zhouqiang
Term vs Phrase
Beautiful Mind等效于Beautiful OR mind
“Beautiful Mind”等效于Beautiful AND mind Phrase查询
mike为范查询
GET /blogs/_search?q=user:zhouqiang mike
{
"profile": "true"
}
Phrase查询
GET /blogs/_search?q=user:"zhouqiang mike"
{
"profile": "true"
}
Bool查询
GET /blogs/_search?q=user:(zhouqiang AND mike)
{
"profile": "true"
}
布尔操作
AND/OR/NOT或者&&/||/!
必须大写
title:(matrix NOT reloaded)
分组查询
+表示must
-表示must_not
title:(+maxtri -reloaded)
范围查询
区间表示:[]闭区间, {}开区间
year:{2019 TO 2020]
year:[* TO 2018]
算数符号
year:>2010
year:(>2010 && <=2018)
year:(>2010 +<=2018)
通配符查询(通配符查询效率低,占用内存大,不建议使用)
?代表1个字符,*代表0或者多个字符
title:mi?d
title:be*
正则表达式
title:[bt]oy
模糊匹配与近似查询
title:befutifl~1
title:"lord rings"~2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!