elasticsearch 复合查询

Posted 开始战斗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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":"瓦力"
       }
    }
    }
 }

 

以上是关于elasticsearch 复合查询的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch(七)——复合查询

elasticsearch 复合查询

复合查询与过滤查询的区别,记ElasticSearch检索时踩过的”坑“!

Elasticsearch查询类型

ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套

Elasticsearch Java Rest Client API 整理总结 ——Building Queries