ElasticSearch

ES 常用java api

空扰寡人 提交于 2020-12-18 02:45:24
java rest client 有两种:   1、Java Low Level REST Client :用于Elasticsearch的官方低层客户端。它允许通过http与Elasticsearch集群通信。叶子请求编组,响应反编组给用户。它兼容所有的Elasticsearch版本。   2、Java High Level REST Client :Elasticsearch的官方高级客户端。它基于底层客户端,公开API特定的方法,处理请求编组和响应反编组。 一、Java Low Level REST Client   1、先引入jar包   < dependency > < groupId > org.elasticsearch.client </ groupId > < artifactId > elasticsearch-rest-client </ artifactId > < version > 6.6.0 </ version > </ dependency >   2、编写代码 public class LowLevelRestClientTest { // RequestOptions类包含请求的一些部分,这些部分应该在同一个应用程序中的多个请求之间共享。你可以创建一个单实例,并在所有请求之间共享: private static final

用Docker构建MySQL镜像

谁都会走 提交于 2020-12-18 02:11:22
构建 MySQL 镜像 本文目的不仅仅是创建一个 MySQL 的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动 MySQL 服务接受外部连接,主要是通过 Dockerfile 和 shell 脚本实现这一过程。 创建工作目录 [root@elk-node2 ~]# mkdir mysql [root@elk-node2 ~]# cd mysql/ [root@elk-node2 mysql]# ls Dockerfile privileges.sql schema.sql setup.sh 2.1 创建 Dockerfile 文件 [root@elk-node2 mysql]# vim Dockerfile FROM mysql:5.7 # 设置免密登录 ENV MYSQL_ALLOW_EMPTY_PASSWORD yes # 将所需文件放到容器中 COPY setup.sh /root/mysql/setup.sh COPY schema.sql /root/mysql/schema.sql COPY privileges.sql /root/mysql/privileges.sql # 设置容器启动时执行的命令 CMD ["sh", "/root/mysql/setup.sh"] 2.2 mysql 权限设置命令

es7.2版本安装ik分词

旧时模样 提交于 2020-12-18 02:02:17
(一)到官网下载https://github.com/medcl/elasticsearch-analysis-ik对应版本的ik( 直接下载releases版本,避免maven打包!!! 如果不是这个版本,则需要进入解压后的目录使用mvn package打包,然后在target->releases目录下会生成对应的zip文件)。 (二)在es的安装目录下->plugins目录下新建analysis-ik目录将zip压缩包解压到此 (三)在header插件中测试 注:ES版本5.0.0之后的测试方式 1、新建一个索引 2、配饰内容进行测试如下图: 注:安装ik5.x以上版本的分词器过程中发现与老版本2.x.x有两点不同: 不需要修改Elasticsearch配置文件。Elasticsearch的配置文件路径为elasticsearch.yml,之前的老版本需要在文件最后加入如下内容:index.analysis.analyzer.ik.type : "ik",新的版本不需要 测试ik分词是否安装成功时,使用的是ik_smart而不是ik。查看文档,现在支持ik_smart与ik_max_word ik_max_word: 会将文本做最细粒度的拆分,比如会将“我是中国人”拆分为“我,是,中国人,中国,国人”,会穷尽各种可能的组合。 ik_smart: 会做最粗粒度的拆分,比如会将

2020最新,100道电商大厂必问面试题:附完整答案

蹲街弑〆低调 提交于 2020-12-17 15:35:06
2020,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言 。今 天不谈其它,就说说我作为面试官面试的那些事儿。 从某电商项目负责人的算起,再到后来的首席架构师,我前前后后面试了至少 300 多位求职者。 不敢说成功入职的每个同事都发展得特别好,但大部分人来说还是很不错的。 过硬的技术功底是最起码的考核要求。 不少来应聘的朋友底子还是有的,但知识面太窄了。 那么对于互联网大厂,尤其是电商行业来说,都会重点考核哪些呢?最近 我将这些年自己常问的考核知识整理了一下 ,不下 100 道 ,其中涵盖了不少大厂必考点、高频点、加薪点,这些也是作为开发人来说日常项目中经常遇到的踩坑点。 为了方便大家,我把这些点做了一个归类,一共分成了 5 大类,分别是: Dubbo,ElasticSearch,JVM,多线程/高并发,消息中间件 。我把关于这些问题的拆解与思考,整理成一个 pdf,限于篇幅,这里就不一一列出了。 需要的同学可以文末扫码领取,希望能从中有所启发、收获。 这里先罗列出近三年部分技术考核点,具体有: ## 1 Dubbo 1.1 服务调用超时问题怎么解决? 1.2 Dubbo支持哪些序列化方式? 1.3 Dubbo和SpringCloud的关系? 1.4 Dubbo的架构设计?一共划分了哪些层? 1.5

微博众筹的架构设计

做~自己de王妃 提交于 2020-12-17 02:41:18
微博众筹的架构设计 导读:我们每一天都能感受到互联网金融的成长和进步,在 6 月 19 日,微博商业产品部联合天弘基金(余额宝),小米支付、还有创业公司付钱拉等金融技术团队策划了首届互联网金融系统沙龙,围绕在互联网金融过程中碰到核心技术架构、系统安全、数据一致性、业务开发模式等与业界进行分享及交流。本文是陈杰在本次沙龙的演讲,授权高可用架构首发。 陈杰,新浪微博资深系统架构师,毕业于清华大学化学系,从 2004 年开始做过测试、GIS 二次开发、游戏开发、搞过创业,2011 年底到新浪开始接触互联网,喜欢做程序员喜欢做的事。 互联网金融已经影响生活方方面面,我们可以拿着手机,不用银行卡、不用现金来体验新时代的衣食住行。互联网金融现在已经成为互联网巨头争相布局的一个领域,BAT、微博、小米都已经在发力金融。今年年初京东金融融资 66.5 亿人民币,4 月份微博金融发布微博众筹第一款产品。就在本月小米刚刚高调宣布进军民营银行,以获得中国银监会复批。 我今天讲的主题是微博众筹架构,我叫陈杰,2004 年清华化学系毕业,之后不小心进入 IT 这行。最开始做的是测试,后来慢慢接触一些 VB,做了两年的游戏开发,再后来跟朋友去创业,2011 年来到微博开始做互联网相关的一些事情。 本人有两个标签,第一我喜欢骑自行车,在创业之前那时候比较年轻,基本上每周会去两天香山骑车,另外一个标签是奶爸。

Linux 查询 OS、CPU、内存、硬盘信息

流过昼夜 提交于 2020-12-16 17:55:02
一.前言 当我们接手了一台或者几台服务器的时候,首先我们有必要对服务器的基本配置有所认识,这样才可以对症下药,对以后的软件部署,系统运维会有事半功倍的效果。 二.关于服务器基本配置 查询服务器的基本配置一般查询操作系统,CPU,内存,硬盘,下面进行逐一讲解。 2.1 操作系统基本配置查询 查看操作系统版本 #cat /etc/redhat-release这个命令主要是查看红帽发行的操作系统的版本号 [ root@node5 ~ ] # cat /etc/redhat-release CentOS Linux release 7.4 .1708 (Core) #cat /etc/issue这个命令适用于大多数linux发行版 [ root@node5 ~ ] # cat /etc/issue S Kernel r on an m 查看操作系统内核版本 [root@node5 ~] # uname -r 3 .10 .0-693 .el7 .x86_64 查看操作系统详细信息 [root@node5 ~] # uname -a Linux node5 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux #从上面这段输出可以看出,该服务器主机名是node5

【ElasticSearch】:QueryDSL

佐手、 提交于 2020-12-16 16:04:39
Search API    URI Search    Response Body Search    Query DSL   Response Body Search使用Query DSL语句,相对URI Search功能更加灵活强大。   Query DSL是基于JSON定义的查询语言,主要包含如下2种类型:    Query DSL--字段类查询   term精确查询,match全文检索,range范围查询    Query DSL--字段类查询--match全文检索   match查询对输入文本分词后,做全文检索。          如果match多个单词,单词间空格分隔,是or关系查询       使用"operator":"and"来表示单词间是and关系查询       输入了多个单词,任意minimum_should_match个被匹配到就查询出来。    Qu ery DSL--字段类查询--match_phrase短语匹配    match_phrase短语匹配,查询确切的phrase,在对查询字段定义了分词器的情况下,会使用分词器对输入进行分词,然后返回满足下述两个条件的document:   1.match_phase中的所有term都出现在待查询字段之中。   2.待查询字段之中的所有term都必须和match_phase具有相同的顺序 。        

把 14 亿人拉到一个微信群,如何实现?

人走茶凉 提交于 2020-12-16 09:29:03
把 14 亿中国人民都拉到一个微信群里在技术上能实现吗? 先说结论:也许可以实现,但你会什么都看不见。 根据 2017 年《微信数据报告》的公开数据 [参考 1] : 2017 年 9 月,微信日均登陆 9.02 亿人,日均发送消息 380 亿次。 这意味着平均每人每天发送信息 42 条,如果全国人民(对了,现在全国人口已经接近 14 亿)在同一个群里说话,这个群每天出现的信息就高达: 这么多信息仅仅是匀速发送的话,考虑到大家的睡眠,睡觉的 8 小时不算,那么手机里每秒要接收的信息就是: 哇塞,每秒超过 100 万条啊!目前主频最高的手机 CPU 之一,高通骁龙 845有 2.8GHz 的处理能力[参考 2] ,一共是 8 核。 如不计算安卓系统、显示刷新、网络 IO 等 CPU 操作的话,每条信息能分配到的计算能力是: 这是什么概念?全球第一款微处理器是 1971 年英特尔推出的 Intel 4004[参考 3],这个老古董的主频也有 108KHz 啊。所以 21.9KHz 就是啥也干不了。 幸好 IT 界有个摩尔定律: 每 18 个月 CPU 性能就能翻倍(或者价钱是一半)。虽然现有科技已经很难让主频提升(某牙膏厂拼命挤也只有 5 Ghz)。 但假设我们使用了黑科技提升主频。等到了 2025 摩尔定律失效时[参考 4],我们的手机 CPU 主频应该达到: 看起来不错嘛

Unable to ingest XML file into Elastic Search using Logstash XML filter

情到浓时终转凉″ 提交于 2020-12-16 02:20:40
问题 I have this XML file which I stored in D:\ in Window 10: <?xml version="1.0" encoding="UTF-8"?> <root> <ChainId>7290027600007</ChainId> <SubChainId>001</SubChainId> <StoreId>001</StoreId> <BikoretNo>9</BikoretNo> <DllVerNo>8.0.1.3</DllVerNo> </root> I have installed Elastic Search and able to access it at http://localhost:9200/. I have installed Logstash and created logstash-xml.conf to ingest the above XML file. In logstash-xml.conf, the configuration is below: input { file { path => "D:

Unable to ingest XML file into Elastic Search using Logstash XML filter

徘徊边缘 提交于 2020-12-16 02:20:07
问题 I have this XML file which I stored in D:\ in Window 10: <?xml version="1.0" encoding="UTF-8"?> <root> <ChainId>7290027600007</ChainId> <SubChainId>001</SubChainId> <StoreId>001</StoreId> <BikoretNo>9</BikoretNo> <DllVerNo>8.0.1.3</DllVerNo> </root> I have installed Elastic Search and able to access it at http://localhost:9200/. I have installed Logstash and created logstash-xml.conf to ingest the above XML file. In logstash-xml.conf, the configuration is below: input { file { path => "D: