elasticsearch 复合查询

常用查询
固定分数查询

  127.0.0.1/_search(全文搜索)
     {
       "query":{
         "match"{
      "title":"elashsearch" //查询标题含有elashsearch的字段

       }
    }
      }

用固定分数查询

 {
       "query":{
         "constant_score"{ //关键词
      "filter":{ //filter下写查询的语法
         "match"{
        "title":"elashsearch" //查询标题含有elashsearch的字段

       }
         },
         "boost":1 //用来指定分数,可以不写,会做一下缓存
       }
    }
      }

布尔查询

{
    "query":{
       "bool":{
          "should"[//关键词,应当满足条件
        {
          "match":{
             "author":"瓦力"
        }
          },
          {
            "match":{
            "title":"aaa"
          }

          }
      ]
      }
       }
     }

两个match的关系为或,满足一个即可

{
  "query":{
     "bool":{
       "must":[ //关键词,为必须满足条件
       {
          "match":{
         "author":"瓦力"
           }
       },
       {
        "match":{
           "title":"aaa"
         }
       }
     ],
     "filter":[  //过滤查找字段为1000的 可以不加
         {
          "term":{
              "word_count":1000
            }

         }
     ]
      }
   }
 }

管理为并且,两者都满足

 {
   "bool":{
      "must_not":{ //一定不能满足条件
          "term":{ //指定字段为瓦力
         "author":"瓦力"
       }
    }
    }
 }
时间: 2024-10-31 06:29:16

elasticsearch 复合查询的相关文章

Elasticsearch(7) --- 复合查询

Elasticsearch(7) ---复合查询 复合查询有:bool query(布尔查询).boosting query(提高查询).constant_score(固定分数查询).dis_max(最佳匹配查询).function_score(函数查询). 一.bool query(布尔查询) 1.概念 定义 可以理解成通过布尔逻辑将较小的查询组合成较大的查询. Bool查询语法有以下特点 子查询可以任意顺序出现 可以嵌套多个查询,包括bool查询 如果bool查询中没有must条件,shou

Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询

HQL查询方式 这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多.条件查询.分页查询.连接查询.嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了类或者对象.其它的,包括一些查询函数(count(),sum()等).查询条件的设定等,全都跟SQL语法一样. 示例: Session session = SessionFactory.getCurrentSession(); User user = null; Transaction ts = s

thinkphp 区间查询 组合查询 复合查询 动态查询 SQL查询

区间查询 默认使用AND 在最后面元素加上OR  SELECT * FROM `weibo_user` WHERE ( `id` > 1 OR `id` < 3 ) $map['id']=array(   array('gt',1),   array('lt',3),     'OR' ); 组合查询  SELECT * FROM `weibo_user` WHERE `id` = 1 OR ( username = "bnbbs" AND email like "

ElasticSearch基本查询

词条查询 这是一个简单查询.它仅 匹配给定字段中包含该词条的稳定,且是2未经分析的确切的词条. { "query" :{ "term":{ "title":"crime" } } } 多词条查询 匹配内容中包含某些词条的文档. { "query" :{ "terms::{ "tags":["novel","book"], "mi

grails的criteria实现复合查询并实现结果分页

def search = {         if(!params.max) params.max = 10         if(!params.offset) params.offset = 0         def searchClosure =  {             if(params.categoryName) {                 category{                     eq('categoryName', params.categoryN

基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(1)

本文描述了一个系统,功能是评价和抽象地理围栏(Geo-fencing),以及监控和分析核心地理围栏中业务的表现. 技术栈:Spring-JQuery-百度地图WEB SDK 存储:Hive-Elasticsearch-MySQL-Redis 什么是地理围栏? LBS系统中,地理围栏指的是虚拟边界围成的部分. tips:这只是一个demo,支撑实习生的本科毕设,不代表生产环境,而且数据已经做了脱密处理,为了安全还是隐去了所有数据. 功能描述 1.地理围栏的圈选 (1)热力图 热力图展示的是,北京市

随便说说Spring Data JPA(包含分页,复合查询)

最近没事做,闲着也是闲着,随便写写,自己说说,不提供参考价值. Spring Data JPA是Spring Data家族的一部分,可以轻松实现基于JPA的存储库. 此模块处理对基于JPA的数据访问层的增强支持. 它使构建使用数据访问技术的Spring驱动应用程序变得更加容易. 在相当长的一段时间内,实现应用程序的数据访问层一直很麻烦. 必须编写太多样板代码来执行简单查询以及执行分页和审计. Spring Data JPA旨在通过减少实际需要的工作量来显著改善数据访问层的实现. 作为开发人员,您

Elasticsearch 连接查询

在一般的关系型数据库中,都支持连接操作. 在ES这种分布式方案中进行连接操作,代价是十分昂贵的. 不过ES也提供了相类似的操作,支持水平任意扩展,实现连接的效果. 其他内容,参考Elasticsearch官方指南整理 ES中的连接 在ES中支持两种连接方式:嵌套查询 和 has_child.has_parent父子查询 嵌套查询: 文档中包含嵌套的字段,这些字段以数组的形式保存对象,这样每个嵌套的子对象都可以被搜索. has_child.has_parent父子查询: 父子文档是存储在同一个索引

分布式搜索引擎Elasticsearch的查询与过滤

一.写入 先来一个简单的官方例子,插入的参数为 -XPUT ,插入一条记录. curl -XPUT'http://localhost:9200/test/users/1' -d'{ "user": "test", "post_date": "2009-11-15T14:12:12", "message": "Elastic Search" }' { "_index":