elasticsearch常用命令之_refresh_delete_by_querymappings创建索引结构exists_sourcebool查询(mustshould)大于小于符号

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch常用命令之_refresh_delete_by_querymappings创建索引结构exists_sourcebool查询(mustshould)大于小于符号相关的知识,希望对你有一定的参考价值。

1、_refresh命令

用来刷新索引数据,促使其立刻生效:

请求如下:

GET /test/_refresh

2、_delete_by_query命令

这个命令主要是用来删除数据,可以删除该索引下指定条件的数据。

例如我们删除该索引下所有的数据:

POST /test/_delete_by_query

  "query": 
    "match_all": 
  

3、 mappings创建索引结构

使用PUT请求创建一个索引结构:


PUT test_index

  "settings": 
    "number_of_shards": 3,
    "number_of_replicas": 1,
    "refresh_interval": "-1"
  ,
 "mappings" : 
      "properties" : 
        "attrName" : 
          "type" : "keyword"
        ,
        "chapterContent" : 
          "type" : "text",
          "norms" : false,
          "analyzer" : "ik_max_word"
        ,
        "chapterId" : 
          "type" : "keyword"
        ,
        "chapterLabels" : 
          "properties" : 
            "category" : 
              "type" : "text",
              "fields" : 
                "keyword" : 
                  "type" : "keyword",
                  "ignore_above" : 256
                
              
            ,
            "labelName" : 
              "type" : "text",
              "fields" : 
                "keyword" : 
                  "type" : "keyword",
                  "ignore_above" : 256
                
              
            ,
            "level" : 
              "type" : "long"
            
          
        ,
        "chapterTextContent" : 
          "type" : "text",
          "norms" : false,
          "analyzer" : "ik_max_word"
        ,
        "createTime" : 
          "type" : "date",
          "ignore_malformed" : true,
          "format" : "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd"
        ,
        "createUser" : 
          "type" : "keyword"
        ,
        "delFlag" : 
          "type" : "long"
        ,
        "depth" : 
          "type" : "long"
        ,
        "oldTitle" : 
          "type" : "text",
          "norms" : false,
          "analyzer" : "ik_max_word"
        ,
        "parentId" : 
          "type" : "long"
        ,
        "psonId" : 
          "type" : "long"
        ,
        "sort" : 
          "type" : "long"
        ,
        "title" : 
          "type" : "text",
          "norms" : false,
          "analyzer" : "ik_max_word"
        ,
        "topicId" : 
          "type" : "integer"
        ,
        "updateTime" : 
          "type" : "date",
          "ignore_malformed" : true,
          "format" : "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd"
        ,
        "updateUser" : 
          "type" : "keyword"
        
      
    

4、exists命令

可以用这个字段去判断在索引结构中是否存在某一个字段

例如,我们判断test索引中是否存在userName字段:

GET /test/_search

  "query": 
    "bool": 
      "must": [
        
          "exists": "field": "userName"
        
      ]
    
  

5、_source命令

5.1、可以使用_source命令去查询展示指定需要的字段

GET /test/_search

  "_source": "includes":["title","createUser"], 
  "query": 
    "match_all": 
  

5.2、可以使用_source命令去查询展示指定不需要展示的字段

GET /test/_search

  "_source": "excludes":["name","createUser"],
  "query": 
    "match_all": 
  

6、bool查询 (must、should)

1、must命令,must (must字段对应的是个列表,也就是说可以有多个并列的查询条件,一个文档满足各个子条件后才最终返回)

GET /test/_search

  "_source": "excludes":["passwd"],
  "query": 
    "bool": 
      "must": [
        
          "match": 
            "sort": 28
          
        ,
        
          "match": 
            "parentId": 1335517767687868416
          
        
      ]
    
  

2、should命令 (只要符合其中一个条件就返回)

GET /test/_search

  "_source": "excludes":["passwd"],
  "query": 
    "bool": 
      "should": [
        
          "match": 
            "sort": 28
          
        ,
        
          "match": 
            "parentId": 1335517767687868416
          
        
      ]
    
  

7、大于小于符号

  • range:条件筛选范围。
  • gt:大于,相当于关系型数据库中的 >。
  • gte:大于等于,相当于关系型数据库中的 >=。
  • lt:小于,相当于关系型数据库中的 <。
  • lte:小于等于,相当于关系型数据库中的 <=
GET movies/_search

    "query": 
        "range": 
            "year": 
                "gte": 2016,
                "lte": 2018
            
         
    ,
    "sort": [
        
            "year": 
                "order": "desc"
            
        
    ]

以上是关于elasticsearch常用命令之_refresh_delete_by_querymappings创建索引结构exists_sourcebool查询(mustshould)大于小于符号的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch之常用插件安装命令

elasticsearch 常用命令

elasticsearch 常用命令

elasticsearch运维常用命令

ElasticsearchES常用命令

Elasticsearch系列——使用kibana或postman操作Elasticsearch的常用命令