zoukankan      html  css  js  c++  java
  • es查询和更新 语句示例

    文档目录: https://www.elastic.co/guide/index.html

    GET _search
    {
      "query": {
        "match_all": {}
      }
    }
    
    GET /_template/*
    
    PUT /_template/hs_server_template
    {
      "order": 0,
      "version": 60001,
      "index_patterns": [
        "hs_server*"
      ],
      "settings": {
        "index": {
          "refresh_interval": "5s"
        }
      },
      "mappings": {
        "doc": {
          "dynamic_templates": [
            {
              "message_field": {
                "path_match": "message",
                "match_mapping_type": "string",
                "mapping": {
                  "type": "text",
                  "norms": false
                }
              }
            },
            {
              "string_fields": {
                "match": "*",
                "match_mapping_type": "string",
                "mapping": {
                  "type": "text",
                  "norms": false,
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                }
              }
            }
          ],
          "properties": {
            "@timestamp": {
              "type": "date"
            },
            "@version": {
              "type": "keyword"
            },
            "ErrorCode": {
              "type": "integer"
            },
            "geoip": {
              "dynamic": true,
              "properties": {
                "ip": {
                  "type": "ip",
                  "latitude": {
                    "type": "half_float"
                  },
                  "longitude": {
                    "type": "half_float"
                  }
                }
              },
              "responseLogTime": {
                "type": "date",
                "format": "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd||epoch_millis||yyyy-MM-dd HH:mm:ss.SSSZ"
              }
            }
          }
        },
        "aliases": {}
      }
    }
    
    DELETE /_template/my_test_play_dur_template
    
    PUT /_template/tv_stats_play_dur_template
    {
      "order": 0,
      "version": 60001,
      "index_patterns": [
        "tv_stats_play_dur*"
      ],
      "settings": {
        "index": {
          "refresh_interval": "30s"
        }
      },
      "mappings": {
        "doc": {
          "dynamic_templates": [
            {
              "message_field": {
                "path_match": "message",
                "match_mapping_type": "string",
                "mapping": {
                  "type": "text",
                  "norms": false
                }
              }
            },
            {
              "string_fields": {
                "match": "*",
                "match_mapping_type": "string",
                "mapping": {
                  "type": "text",
                  "norms": false,
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                }
              }
            }
          ],
          "properties": {
            "@timestamp": {
              "type": "date"
            },
            "@version": {
              "type": "keyword"
            },
            "remote_address": {
              "type": "ip"
            },
            "duration": {
              "type": "long"
            },
            "id": {
              "type": "long"
            },
            "importbatchno": {
              "type": "keyword"
            },
            "index_name_suffix": {
              "type": "keyword"
            },
            "mac": {
              "type": "keyword"
            },
            "main_id": {
              "type": "long"
            },
            "main_name": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "sub_id": {
              "type": "long"
            },
            "sub_name": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "type_name": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "url": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "userid": {
              "type": "long"
            },
            "versioncode": {
              "type": "keyword",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            }
          }
        }
      },
      "aliases": {}
    }
    
    GET /tv_stats_play_dur-2019-06-05/_search/
    DELETE /my_test-2019.05.10
    GET /my_test-2019.05.13/_search
    
    #query
    GET /tv_stats_play_dur*/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "term": {
                "root_id": 5
              }
            },
            {
              "match": {
                "sub_id": 0
              }
            }
          ],
          "must_not": [
            { "match": { "root_name": "直播" } }
          ]
        }
      }
    }
    
    #batch update or bulk update 
    POST /tv_stats_play_dur*/doc/_update_by_query?conflicts=proceed
    {
      "query": {
        "bool": {
          "must": [
            {
              "term": {
                "root_id": 5
              }
            },
            {
              "match": {
                "sub_id": 0
              }
            }
          ],
          "must_not": [
            {
              "match": {
                "root_name": "直播"
              }
            }
          ]
        }
      },
      "script": {
        "lang": "painless",
        "source": "ctx._source.root_name = params.live_name",
        "params": {
          "live_name": "直播"
        }
      }
    }
    
    # get count num of null root by root,main,sub
    GET /tv_stats_play_dur-2019-06-07*/_search?search_type=dfs_query_then_fetch
    {
      "query": {
        "bool": {
          "must_not": [
            {
              "exists": {
                "field": "root_name.keyword"
              }
            }
          ]
        }
      },
      "aggs": {
        "root_id": {
          "terms": {
            "field": "root_id",
            "size": 25
          },
          "aggs": {
            "main_id": {
              "terms": {
                "field": "main_id",
                "size": 25
              },
              "aggs": {
                "sub_id": {
                  "terms": {
                    "field": "sub_id",
                    "size": 25
                  }
                }
              }
            }
          }
        }
      }
    }
    
    #root name null group by date
    GET /tv_stats_play_dur-2019-06*/_search?search_type=dfs_query_then_fetch
    {
      "query": {
        "bool": {
          "must_not": [
            {
              "exists": {
                "field": "root_name.keyword"
              }
            }
          ]
        }
      },
      "aggs": {
        "root_id": {
          "terms": {
            "field": "importbatchno",
            "size": 25
          }
        }
      }
    }
    
    #search by import date 
    GET /tv_stats_play_dur*/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "term": {
                "importbatchno": 20190610
              }
            }
          ]
        }
      }
    }
    
    #delete by import date
    POST /tv_stats_play_dur*/doc/_delete_by_query
    {
      "query": {
        "bool": {
          "must": [
            {
              "term": {
                "importbatchno": 201906101
              }
            }
          ]
        }
      }
    }

    ##########################

    GET /hs_server_ahc_task*/_search
    {
    "query": {
    "bool": {
    "must": [
    {
    "bool": {
    "should": [
    {
    "match": {
    "LogMessage": "Error"
    }
    },
    {
    "match": {
    "LogMessage": "MessagePull"
    }
    }
    ]
    }
    }
    ]
    }
    }
    }

     

    es同个字段,多个值搜索的案例

     类似 a_field like '%wordA%' and a_field like  '%wordB%' 
    search_pdf_query = {"query": {
                "bool":
                    {
                    "must": [
                                {"bool": {"should":[{"match_phrase": {"pdf_title":"年度报告"}},{"match_phrase":{"pdf_title":"季度报告"}}]}},
                                {"range": {"announce_date": {"gte": "2017-01-01","lte": "2018-12-31"}}},
                                {"terms": {"html_status": ["201", "300", "301", "302"]}},
                                {"terms": {"trade_code.keyword": ["600548","000548"]}}],
                   "must_not": [{"wildcard": {"origin_title.keyword": '*摘要'}},{"wildcard": {"origin_title.keyword": '*年度报告书'}}],
                   }},
            "sort": [{"announce_date": "asc"}]
            }
    

    查找值包含某些文本的情况:

    1. 完全匹配情况下,对同一个字段的多个值搜索,使用terms查询,举例:
      {"terms": {"html_status": ["201", "300", "301", "302"]}}
    2. 如果不完全匹配,则在must里添加bool查询,再在bool里添加should查询,举例:
      {"bool": {"should":[{"match_phrase": {"pdf_title":"年度报告"}},{"match_phrase":{"pdf_title":"季度报告"}}]}}

    如何区分使用match,match_phrase,term可参考此篇
    https://blog.csdn.net/camelcanoe/article/details/79544155
    这里也涉及到查询的字段是否是 NOT_ANALYZED,ANALYZED字段无法使用term,只能使用match_phrase。
    所以在新建index的时候需要把mapping设置好,哪些字段是ANALYZED,哪些是NOT_ANALYZED(感觉是个坑)

  • 相关阅读:
    启用和配置 FILESTREAM
    SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)
    SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)
    系统性能测试 IO--AIX
    存储前端
    Markdown的css样式源码
    Typora +google + Markdown Here 公众号
    存储学习
    ChsLLVMDocs
    Parallel Database for OLTP and OLAP
  • 原文地址:https://www.cnblogs.com/bigben0123/p/10975329.html
Copyright © 2011-2022 走看看