zoukankan      html  css  js  c++  java
  • 【ElasticSearch】:QueryDSL

    • 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中的指定字段,节约网络开销。

  • 相关阅读:
    ACR2010_TNF拮抗剂促进SpA患者椎体侵蚀的修复
    2010年10月第1期(ACR2010专刊AS篇)_中信国健临床通讯目录
    ACR2010_中轴型SpA患者使用TNF拮抗剂治疗后放射学进展与全身炎症消退相关
    ACR2010_小剂量依那西普对达到缓解的AS患者有效
    ACR2010_在高风险人群中应用新版RA分类标准可能发现更多临床前RA
    ACR2010_常规医疗环境下TNF拮抗剂对RA骨侵蚀的修复作用
    ACR2010_HLA B27阳性的极早期AS患者停用TNF拮抗剂后疗效持续: 3个月随机安慰剂对照试验后随访40周
    .net委托与事件 中庸
    筛选法因子之和
    POJ2488 A Knight's Journey 解题报告
  • 原文地址:https://www.cnblogs.com/wwcom123/p/10424190.html
Copyright © 2011-2022 走看看