随笔分类 -  NoSQL

摘要:本文介绍工作中Python版常用的高效ES批量插入、更新数据方式 1. 批量插入 import pandas as pd from elasticsearch import helpers actions = list() count = 0 for index, item in merged_df 阅读全文
posted @ 2022-10-21 21:24 算法小生 阅读(615) 评论(0) 推荐(0) 编辑
摘要:1. SSHFS挂载 上传Elasticsearch\fuse-2.9.2-11.el7.x86_64.rpm至ES所在三台机器 上传Elasticsearch\fuse-libs-2.9.2-11.el7.x86_64.rpm至ES所在三台机器 上传Elasticsearch\fuse-sshfs 阅读全文
posted @ 2022-10-21 21:20 算法小生 阅读(148) 评论(0) 推荐(0) 编辑
摘要:深入理解聚合分析原理及精确性问题 1. Metric Aggregation 单值分析,只输出一个分析结果 min max avg sum cardinality (类似distinct count) 多值分析,输出多个分析结果 stats extended stats percentile, pe 阅读全文
posted @ 2022-10-20 21:13 算法小生 阅读(138) 评论(0) 推荐(0) 编辑
摘要:1. 刨析分布式查询及相关性算分 1.1 分布式搜索的运行机制 ElasticSearch的搜索,会分为两阶段进行 第一阶段 Query 第二阶段 Fetch Query Then Fetch 1.2 Query阶段 用户发出搜索请求到ES节点。节点收到请求后,会已Coordinating节点的身份 阅读全文
posted @ 2022-10-20 21:10 算法小生 阅读(31) 评论(0) 推荐(0) 编辑
摘要:由于nlp分词服务属于CPU密集型,所以需要在部署的时候尽量使得pod分散在不同node上,已缓解cpu负载,目前发现线上部署每次发布都会到同一节点上,故如下改造 apiVersion: apps/v1 kind: Deployment metadata: name: shenjian-nlp na 阅读全文
posted @ 2022-10-20 21:04 算法小生 阅读(131) 评论(0) 推荐(0) 编辑
摘要:分片内部原理及其生命周期 什么是ES分片 ES中最小的工作单元,是一个Lucene的index 一些问题 ES搜索是近实时的 ES在断电时数据不会丢失 删除文档,不会立刻释放空间 1.1 倒排索引不可变性 倒排索引采用Immutable Design,一旦生成,不可更改 不可变性优点 无需考虑并发写 阅读全文
posted @ 2022-10-20 20:58 算法小生 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1. 分布式特性 ElasticSearch的分布式架构带来的好处 存储的水平扩容,支持PB级数据 提高系统可用性,部分节点停止服务,整个集群服务不受影响 2. 脑裂问题 Split-Brain 当出现网络问题,一个节点和其他节点无法连接,在各自的网络环境下,选举为各自主节点 如何避免脑裂问题? 限 阅读全文
posted @ 2022-10-20 20:56 算法小生 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1. 相关性和相关性算分 1.1 相关性 搜索的相关性算分,描述了一个文档和查询语句匹配的程度。ES会对每个匹配查询条件的结果进行算分_score 打分的本质是排序,需要把最符合用户需求的文档排在最前面。ES5之前,默认的相关性算分是TF-IDF,现在采用BM 25 2. 词频TF Term Fre 阅读全文
posted @ 2022-10-20 20:53 算法小生 阅读(80) 评论(0) 推荐(0) 编辑
摘要:1. 基于词项与全文的搜索 1.1 基于term的搜索 term的重要性:term是表达语义的最小单位 特点: 包括term query\range query\exists query\prefix query\wildcard query term查询,对输入不做分词 可以通过constant 阅读全文
posted @ 2022-10-20 20:49 算法小生 阅读(93) 评论(0) 推荐(0) 编辑
摘要:1. 聚合分类 Bucket Aggregation:系列满足特定条件的文档的集合,如term range GET kibana_sample_data_flights/_search { "size": 0, // 只显示聚合结果 "aggs": { "flight_dest": { "terms 阅读全文
posted @ 2022-10-20 20:45 算法小生 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1. 索引模板创建索引 可以通过http://127.0.0.1:5601/app/management/data/index_management/templateskibana工具进行创建索引模板 也可以自定义语句,如创建poi索引模板 POST _index_template/poi { "i 阅读全文
posted @ 2022-10-18 21:05 算法小生 阅读(187) 评论(0) 推荐(0) 编辑
摘要:1. Analysis与Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也要分词 Analysis是通过Analyzer来实现的。可使用ElasticSearch内置分析器或按需定制化分析器 除了在数据写入时转换词条,匹配Query语句时候也需要 阅读全文
posted @ 2022-10-18 21:05 算法小生 阅读(91) 评论(0) 推荐(0) 编辑
摘要:1. 倒排索引简介 对于书通过目录查找对应章节内容的方式属于正排索引,而对于想查询文本,如我爱中国在书籍中出现的次数与具体位置,则是倒排索引的范畴。 2. 倒排索引核心组成 单词词典(Term Dictionary) 记录所有文档的单词,记录单词到倒排列表的关联关系。单词词典一般比较大,可以通过B+ 阅读全文
posted @ 2022-10-18 21:04 算法小生 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1. 文档写入 # create document. 自动生成 _id POST users/_doc { "user" : "shenjian", "post_date" : "2022-08-07T14:12:12", "message" : "trying out Kibana" } # 创建 阅读全文
posted @ 2022-10-18 21:04 算法小生 阅读(39) 评论(0) 推荐(0) 编辑
摘要:1. 文档 ElasticSearch是面向文档的,文档是所有可搜索数据的最小单位 文档会被序列化成JSON格式,保存在ES中 每个文档都有一个unique ID #查看前10条文档,了解文档格式 POST kibana_sample_data_ecommerce/_search { } 1.1 文 阅读全文
posted @ 2022-10-18 21:03 算法小生 阅读(33) 评论(0) 推荐(0) 编辑
摘要:对于之前的部署方式一般用于生产环境,而对于学习而言Docker方式快速部署就好了,本示例在window10环境下进行。 1. Docker使用Elasticsearch 需要对vm.max_map_count进行如下配置 # Windows and macOS with Docker Desktop 阅读全文
posted @ 2022-10-18 21:03 算法小生 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1. 在master节点上创建秘钥库 export ES_PATH_CONF="/home/elasticsearch/config" && /usr/local/elasticsearch-7.6.2/bin/elasticsearch-keystore create 2. 在所有节点中开启ssl 阅读全文
posted @ 2022-10-18 21:02 算法小生 阅读(154) 评论(0) 推荐(0) 编辑
摘要:第一步:安装JDK JDK要求jdk1.8+,不安装也可以,ES自带JDK 第二步:系统配置 2.1 禁用交换区 sudo swapoff -a 2.2 开最大文件数的限制 编辑文件 /etc/security/limits.conf把nofile设置为65536 或者执行 echo "* soft 阅读全文
posted @ 2022-10-18 21:02 算法小生 阅读(203) 评论(0) 推荐(0) 编辑
摘要:Groovy作为脚本,比Java在数据处理中具有更高的灵活性 // 获取mongo连接略 .... def count = 0 for(Township town : townships) { Document updateBson = new Document() Document update 阅读全文
posted @ 2022-10-18 21:01 算法小生 阅读(51) 评论(0) 推荐(0) 编辑
摘要:在实际的工作中,难免批量更新的数量极大,pymongo提供了便捷的客户端供使用 假设读者对pandas比较熟悉,下图为事先准备好的dataframe import pandas as pd from pymongo import MongoClient from bson.codec_options 阅读全文
posted @ 2022-10-18 20:59 算法小生 阅读(81) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示