首页 > 其他分享 >es

es

时间:2022-10-27 21:36:16浏览次数:27  
标签:info index body video final es

一、新建index

设置副本数和自定义分词器等操作

mappings = {
        "settings": {
            # 副本数
            "number_of_replicas": 0,
            # 分片数
            "number_of_shards": 2,
            "analysis": {
                "analyzer": {
                    "comma": {
                        "type": "pattern",
                        "pattern": ","
                    }
                }
            }
        },
        "mappings": {
            "type_video": {
                "properties": {
                    "video_id": { 
                        "type": "keyword"
                    },
                    "category": { 
                        "type": "text",
                        "analyzer": "comma",
                        "search_analyzer": "comma"
                    }
                }
            }
        }
    }

后面动态修改index副本数

curl -XPUT 'host:9200/target_index/_settings' -H 'content-Type:application/json' -d '{
    "index": {
       "number_of_replicas": "0"
    }
}'

二、写入

1.使用helpers批量写入,代替index()方法

from elasticsearch import helpers
action = {
        "_index": config["index"],
        "_type": "type_video",
        "_id":item[0],
        "_source": body
            }
actions.append(action)
helpers.bulk(es, actions)

2.设置别名实现数据全量覆盖

# 已有数据:video_info_final, 别名 video_info
# 1、remove video_info_final的别名video_info,建立 video_info_temp 别名为 video_info
es.indices.update_aliases(body={
    "actions": [
        {"add": {"index": "video_info_temp", "alias": "video_info"}}
    ]
})

# 2、删除 video_info_final
try:
    es.indices.delete('video_info_final')
    print("已经删除video_info_final")
except:
    print("no video_info_final")
# 3、数据从video_info_temp 保存到 video_info_final
es.reindex(body={
    "source": {
        "index": "video_info_temp"
    },
    "dest": {
        "index": "video_info_final"
    }
})
#4、remove video_info_temp的别名video_info,建立 video_info_final 别名为 video_info
es.indices.update_aliases(body={
   "actions": [
        {"add": {"index": "video_info_final", "alias": "video_info"}}
   ]
})
# 5、删除es临时表 video_info_temp
es.indices.delete('video_info_temp')

三、删除

清空index

def delete_all_document():
    """
    清空index
    """
    body = {
        "query": {
            "match_all": {}
        }
    }
    es = Elasticsearch(hosts="xxx:9200")
    es.delete_by_query(index=config["index"], body=body)

标签:info,index,body,video,final,es
From: https://www.cnblogs.com/leimu/p/16833797.html

相关文章

  • 加密模块与subprocess模块跟日志模块
    hashlib加密模块1.何为加密 将明文数据处理成密文数据让人无法看懂2.为什么加密 保证数据的安全3.如何判断数据是否是加密的 一串没有规律的字符串(数字、字母、符......
  • hashlib模块、subprocess模块、loggin日志模块及实战
    hashlib加密模块1.何为加密 将明文数据处理成密文数据让人无法看懂2.为什么加密 保证数据的安全3.如何判断数据是否是加密的 一串没有规律的字符串(数字、字母、符......
  • Codeforces Round #707 (Div. 1, based on Moscow Open Olympiad in Informatics) A
    A.GoingHome观察ai<=2.5e6显然我们两数之和最多5e6我们开桶让后怎么暴力让我发愁了显然我们知道我们可能一个数被用了好多次这样显然不行可以想到就是把这个数对......
  • React + Ant Design 搭建个人博客
    react框架学的差不多了,就想搭建一个博客,沉淀一下!记录走过的点点滴滴!博客主要运用技术栈:react:项目主框架redux:状态管理reacr-router:前端路由控制es6:项目中的JS语......
  • 加密模块、subprocess模块与日志
    加密模块、subprocess模块与日志hashlib加密模块加密将明文数据处理成密文数据。为什么加密,为了保证数据安全。判断数据是否加密已加密的数据,通常表现为毫无规律的一......
  • Question_Answering
    代码地址:新建标签页(github.com)视频:https://www.bilibili.com/video/BV1dU4y1C7so/?p=4&vd_source=91219057315288b0881021e879825aa3阅读理解加载数据fromdatasets......
  • 10月27日内容总结——hashlib加密模块和logging、subprocess模块
    目录一、hashlib加密模块1、何为加密2、为什么加密3、如何判断数据是否以加密4、密文的长短有什么意义5、加密算法的基本操作二、加密补充说明三、subprocess模块1、subpro......
  • ESP8266基于Arduino的环境配置
    ESP8266基于Arduino的环境配置运行环境:❤操作系统:windows10x64❤Arduino版本:Arduino1.8.15❤开发板:ESP8266(基于CH340)一、安装CH340驱动链接:https://pan.baid......
  • 硬件笔记之win系统从sata迁移到M2硬盘蓝屏inaccessible boot device
    0x00概述本文主要记录win系统从sata迁移到M2硬盘,出现蓝屏inaccessiblebootdevice导致无限重启的两种解决方案。 0x01解决方案1--注册表修改参数需要进入PE,修改本......
  • Codeforces Round #643 (Div. 2) C
    C.CountTriangles显然两边之和大于第三边我们可以先预处理出来这个两边之和我们暴力枚举x然后区间赋值[x+b,x+c]+1然后最后暴力枚举第三个边然后将大于第三边的方案......