前言

  Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种查询技巧。本文将向大家介绍10个实用的Elasticsearch查询技巧,并配上详细的代码示例,帮助我们更好地掌握Elasticsearch的查询语法。

示例

1. 匹配多个词语:

使用 bool 查询和 must 子句可以匹配多个词语。例如,匹配同时包含“apple”和“banana”的文档:

{"query": {"bool": {"must": [{ "match": { "text": "apple" }},{ "match": { "text": "banana" }}]}}
}

2. 匹配某个字段中的任意一个词:

使用 terms 查询和字段名可以匹配某个字段中的任意一个词。例如,匹配 title 字段中包含“apple”或“banana”的文档:

{"query": {"terms": {"title": ["apple", "banana"]}}
}

3. 匹配某个字段中的词语前缀:

使用 prefix 查询和字段名可以匹配某个字段中的词语前缀。例如,匹配 title 字段中以“app”开头的文档:

{"query": {"prefix": {"title": "app"}}
}

4. 匹配某个字段中的词语通配符:

使用 wildcard 查询和字段名可以匹配某个字段中的词语通配符。例如,匹配 title 字段中包含“app”或“ban”的文档:

{"query": {"wildcard": {"title": "*app* OR ban*"}}
}

5. 匹配某个字段中的词语模糊匹配:

使用 fuzzy 查询和字段名可以进行词语模糊匹配。例如,匹配 title 字段中类似于“aple”的文档:

{"query": {"fuzzy": {"title": "aple"}}
}

6. 匹配某个字段中的词语范围:

使用 range 查询和字段名可以匹配某个字段中的词语范围。例如,匹配 price 字段在 10 到 100 之间的文档:

{"query": {"range": {"price": {"gte": 10,"lte": 100}}}
}

7. 匹配某个字段中的词语存在与否:

使用 exists 查询和字段名可以匹配某个字段中的词语是否存在。例如,匹配包含 description 字段的文档:

{"query": {"exists": {"field": "description"}}
}

8. 按照某个字段排序:

使用 sort 参数可以按照某个字段进行排序。例如,按照 score 字段从高到低排序:

{"query": {"match_all": {}},"sort": [{ "score": "desc" }]
}

9. 返回某些字段的部分数据:

使用_source 参数可以返回某些字段的部分数据。例如,只返回 title 和 price 字段的数据:

{"query": {"match_all": {}},"_source": ["title", "price"]
}

10. 进行分页操作:

使用 from 和 size 参数可以进行分页操作。例如,返回第 11-20 条数据:

{"query": {"match_all": {}},"from": 10,"size": 10
}

结尾

  如果觉得对你有帮助,可以多多评论,多多点赞哦,也可以到我的主页看看,说不定有你喜欢的文章,也可以随手点个关注哦,谢谢。

  我是不一样的科技宅,每天进步一点点,体验不一样的生活。我们下期见!

助你掌握搜索神器,10个实用的Elasticsearch查询技巧相关推荐

  1. 分享百度网盘下载搜索神器和一些实用浏览器插件

    前段时间(端午节期间)折腾电脑,用虚拟机安装mac 10.13,但安装包太大,6.5G. 顺便放下我安装时参考的链接,说不定有人也想安装mac试试,不过我试验的是安装后比较卡.验证在vm12下安装os ...

  2. 这10个实用的Javascript调试技巧,你知道吗?

    见过太多同学调试Javascript只会用简单的console.log甚至alert,看着真为他们着急.因为大多数同学追求优雅而高效地写代码,却忽略了如何优雅而高效地调试代码,不得不说是有点" ...

  3. MySQL中实用函数及查询技巧

    函数一:CONCAT 使用场景:查询时把多个字段拼接成一个字符串 例       子:select concat('id:',id,',name:',name) from student 解      ...

  4. 电脑软件:推荐10款实用的办公效率神器

    1.Everything 搜索神器 Everything超级文件搜索软件是速度最快的文件搜索软件,可以瞬间搜索到你需要的文件.Everything是速度最快的文件搜索软件,可以瞬间搜索到你需要的文件. ...

  5. mac搜索服务器文件,ProFind——文件搜索神器

    原标题:ProFind--文件搜索神器 ProFind for Mac版是一款实用的文件搜索软件,具有强大的功能和出色的性能,可为macOS提供高级文件搜索.并支持自然语言查询,应用程序启动,隐藏位置 ...

  6. APP技巧:微信10个实用小技巧,太实用了,赶紧收藏!

    大家天天都在用微信,但是真正完全玩转微信的人也许并不多,今天小编给大家分享10个实用的小技巧,非常实用,赶紧分享给自己的朋友们吧! 一.对方正在输入 这个提示仅在收到消息后的10秒钟内,在对话框输入文 ...

  7. 10个实用的机器学习建议

    点击上方"算法猿的成长",关注公众号,选择加"星标"或"置顶" 总第 126 篇文章,本文大约 2500 字,阅读大约需要 10 分钟 原文 ...

  8. 【分享-windows文件快速搜索神器】Everything 免费、快速搜索文件/文件夹

    windows文件快速搜索神器 - Everything 下载:https://www.voidtools.com/ 先来体验一波 windows自带的搜索如下,等了一分钟还没搜索完: Everyth ...

  9. 新生搜索神器Microsoft Academic Search与Google scholar、PubMed、wos、embase大PK!

    新生搜索神器Microsoft Academic Search与Google scholar.PubMed.wos.embase大PK! 微软学术搜索(Microsoft Academic Searc ...

最新文章

  1. ad远程控制用户计算机,远程控制电脑|远程控制计算机|怎样远程控制电脑 - ManageEngine Remote Access Plus...
  2. 如何计算_平整场地如何计算?
  3. led透明屏生产厂家_LED透明屏与LED玻璃屏有何区别
  4. C#设置Cookies
  5. maven2学习总结(3,maven2在淘宝项目的应用)
  6. websocket学习和群聊实现
  7. 记一次Mysql误删记录的挽救
  8. ARM之MMU工作原理分析
  9. 一些Xcode快捷键,给新手
  10. sentinel接入网关应用_接入容器服务Kubernetes版应用
  11. STL不是线程安全的啊
  12. Ankhsvn 改名出错
  13. 计算机网络高级技师,计算机网络管理员(高级技师)职业资格考核标准_new教案.doc...
  14. unity3D 最全资源合集分享
  15. java网页开发中的乱码问题解决(过滤器)
  16. 全世界最高级最好的操作系统,人人都可以用
  17. java中rtf转化为html的第三方工具,java .rtf文件转html
  18. 对比DoS攻击与DDoS攻击
  19. TCP重点系列之sack介绍
  20. 如何制作linux iso镜像

热门文章

  1. 仿QQ设置头像(拍照/选择照片)
  2. Android使用的MQTT客户端
  3. 边缘计算与通信的深度融合
  4. 市面上常用的语音识别模块主要包含哪些组件?
  5. ARM与NEON加速指令
  6. 你应该知道的10种软件工具
  7. Oracle EBS子库存转移,项目转移whole LPN
  8. day12_XML解析
  9. Qt开发串口通信以及坐标显示程序并移植
  10. matlab抢占时隙算法,RFID动态帧时隙防冲撞改进算法研究