• Search API

  

  • URI Search

  

  • Response Body Search

  

  • Query DSL

  Response Body Search使用Query DSL语句,相对URI Search功能更加灵活强大。

  Query DSL是基于JSON定义的查询语言,主要包含如下2种类型:

  

  • Query DSL--字段类查询

  term精确查询,match全文检索,range范围查询

  

  • Query DSL--字段类查询--match全文检索

  match查询对输入文本分词后,做全文检索。

  

  

  如果match多个单词,单词间空格分隔,是or关系查询

  

  使用"operator":"and"来表示单词间是and关系查询

  

  输入了多个单词,任意minimum_should_match个被匹配到就查询出来。

  

  • Query DSL--字段类查询--match_phrase短语匹配

  match_phrase短语匹配,查询确切的phrase,在对查询字段定义了分词器的情况下,会使用分词器对输入进行分词,然后返回满足下述两个条件的document:

  1.match_phase中的所有term都出现在待查询字段之中。

  2.待查询字段之中的所有term都必须和match_phase具有相同的顺序。

  

  

  使用slop参数,可以控制match_phrase间隔。

  

  

  • Query DSL--字段类查询--term精确匹配

  term把输入作为一个整体单词,不对输入做分词处理,做精确匹配。

  

  terms把输入的多个单词,分别作为一个个整体单词,不对输入做分词处理,做精确匹配。

  

  • Query DSL--范围查询--数值类型

  

  

  • Query DSL--范围查询--日期时间类型  

  对日期时间做范围查询,输入支持绝对日期时间,也支持相对当前时间的相对日期时间。

  

      

  

  • Query DSL--Bool查询  

  支持更复杂的组合查询。

  

  • Query DSL--Bool查询--Filter    

  

  • Query DSL--Bool查询--Must    

  

  • Query DSL--Bool查询--Must_Not    

  

  • Query DSL--Bool查询--Must_Not    

  

  

  • 回顾与对比:

  query:检索,除了确定文档是否匹配外,查询子句还计算了表示文档与其他文档相比匹配程度的_score;得分越高,相关度越高--更相关的文件,在搜索排名更高。适用于全文检索
  filter:过滤器,在搜索中没有额外的相关度排名,适用于完全精确匹配,范围检索。
6.X版本已经去除了单独的filter过滤器,与query组合使用。

  • query字段里面内容需要全文检索的放must,字段里面内容只需要精确匹配过滤出来的放filter
  • 输入数据需要文本分词用match,输入数据不需要文本分词用term。
  • 全文检索以及任何使用相关性评分的场景使用query检索,除此之外的其他使用filter过滤器过滤。

  另外2个我们生产中常用的查询API:

  • _count:

  不看返回结果,只想看匹配结果数量用_count。

  

  • _souce:

  只返回_source中的指定字段,节约网络开销。

最新文章

  1. Java_I/O输入输出_实现当用户输入姓名和密码时,将每一个姓名和密码加在文件中,如果用户输入done,就结束程序。
  2. [转载]http协议 文件下载原理及多线程断点续传
  3. HTML5商城开发三 jquery 星星评分插件
  4. [转]考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传
  5. C++字符转码
  6. 使用spring @Scheduled注解执行定时任务
  7. algorithm@ Matrix fast power
  8. HTML5 Canvas核心技术—图形、动画与游戏开发.pdf2
  9. 根据控件Id得到控件
  10. Struts2 学习笔记20 类型转换part2 写自己的转换器
  11. JavaScript弹出框
  12. VIM 用正则表达式
  13. 数据库 --> 5种关系型数据库比较
  14. [Swift]LeetCode747. 至少是其他数字两倍的最大数 | Largest Number At Least Twice of Others
  15. POJ-1679 The Unique MST (判断最小生成树的唯一性)
  16. HTML响应式布局实现详解
  17. How to configure Samba Server share on Debian 9 Stretch Linux
  18. tomact启动报错org.apache.jasper.EmbeddedServletOptions.<init> The scratchDir you specified:xxx is unusable.
  19. 【asp.net Core 2.0 初步探索】
  20. jquery checkbox选框操作

热门文章

  1. syslog、日志服务器安装、卸载详解、如何安装和卸载EventLog Analyzer
  2. 27 isinstance与issubclass、反射、内置方法
  3. 【转】python 2.6.6升级到python 2.7.x版本的方法
  4. 844. Backspace String Compare
  5. FMS是什么?
  6. BZOJ 2120 数颜色 (带修莫队)
  7. 20155205 《Java程序设计》实验四 Android程序设计
  8. SAX vs. DOM (Event vs. Tree)
  9. 7-12 How Long Does It Take
  10. 1.gil全局解释器锁, 2. 死锁与递归锁 3. 信号量 4. Event事件 5. 线程queue