py启动elasticsearch

制作Python启动es和kibana启动脚本

# @FileName: test1.py
# @Author  : Anthony Wan
import os
import time
import random

elasticsearch = r'F:\Elasticsearch\elasticsearch-7.6.1\bin\elasticsearch.bat'
kibana = r'F:\Elasticsearch\elasticsearch-7.6.1\kibana-7.6.1-windows-x86_64\bin\kibana.bat'
def progress_bar(item):
    for i in range(11, 0, -1):
        if item == 'kibana':
            time.sleep(random.random() + 0.8)
        else:
            time.sleep(random.random() + 0.4)
        res = '\r%s正在加载:%s %s%%\n' % (item, ('████' * (12 - i)), (11 - i) * 10) if i == 1 else '\r%s正在加载:%s %s%%' % (
        item,
        (
            '████' * (
            12 - i)),
        (11 - i) * 10)
        print('\033[31m%s\033[0m' % res, end='')


def run():
    for item in [(elasticsearch, 'elasticsearch'), (kibana, 'kibana')]:
        os.system('start %s' % item[0])
        progress_bar(item[1])
        time.sleep(10)


if __name__ == '__main__':
    run()
View Code
# es环境配置
    -- Java jdk
        - JAVA_HOME的配置
            系统变量下新建一个JAVA_HOME: C:\Program Files\Java\jdk1.8.0_31
            JAVA path :C:\Program Files\Java\jdk1.8.0_31\bin
# elasticsearch :解压ji安装
    -- 默认监听 本机9200端口
        集群端口是9300
    -- 如果起不来:
        - Java环境配置的有问题
        - 端口冲突
        - 插件有问题
# kibana
    -- 默认监听 5601
    -- 默认访问的是elasticsearch.url: "http://localhost:9200"
    -- 如果你的kibana起不来怎么办:安装的目录不要有中文、空格
        Creating index .kibana_1.
# 逻辑和物理上理解  
    -- 分布式、全文检索、高可用、
    
    -- 面向文档
    -- 索引 --> 类型 --> 文档 [---> 字段]
       数据库    表       记录        字段
    -- es中的分片和索引
        - 默认创建一个es索引,会创建5个主分片和5个复制分片
        - es中的分片就是Lucene中的索引
        - Lucene索引存储不超过21亿篇文档或者2740亿个唯一词条tokens
    -- 倒排索引 ******
    -- see also https://www.cnblogs.com/Neeo/articles/10571307.html
# 简单操作

    -- 增    PUT
    -- 删    DELETE
    -- 改    POST t1/doc/1
             {
                "doc":{
                    "name":"new_value"
                }
             }
    -- 查
        GET t1/   查t1索引的信息
        GET t1/doc/1   查指定文档
        GET t1/doc/_search  查所有
        GET _cat/_indices?v   查集群中的所有索引

        
    -- 两种查询方式:
        - query string
            GET t1/doc/_search?q=age=18
        - 结构化查询  推荐这么用
            GET t1/doc/_search
            {
              "query": {
                "match": {
                  "age": 18
                }
              }
            }
            如果有结果,就返回在hits里面
            没有结果,htis是空列表

    -- 复杂查询
        - match系列
            match 按关键字查询:做分词
            match_all 查所有
            match_phrase 短语查询   slop  中国的首都
        - sort 
            desc
            asc
        - 分页 from size  从哪开始,展示size条数据
        - 结果过滤:_source: ["name", "age"]
        - bool: must  should  must_not filter
        - 高亮查询
            highlight:自定义和默认em
            GET s21/doc/_search
            {
              "query": {
                "match": {
                  "tags": "倾城"
                }
              },
              "highlight": {
                "pre_tags": "<b style='color: red;font-size:30px;'>",
                "post_tags": "</b>",
                "fields": {
                  "tags": {}
                }
              }
            }
        - 分组
            sum
            avg
            min
            max
            group
            GET s21/doc/_search
            {
              "query": {
                "match_all": {}
              },
              "aggs": {
                "group": {
                  "range": {
                    "field": "age",
                    "ranges": [
                      {
                        "from": 15,
                        "to": 20
                      },
                      {
                        "from": 21,
                        "to": 25
                      },
                      {
                        "from": 26,
                        "to": 30
                      }
                    ]
                  },
                  "aggs": {
                    "sum": {
                      "sum": {
                        "field": "age"
                      }
                    }
                  }
                }
              }
            }
        - 
es网络教程笔记

 

posted @ 2020-03-15 23:26  AnthonyWang  阅读(41)  评论(0)    收藏  举报