es查询忽略大小写
默认分词器是Standard 标准分词器,是不区分大小写的。 在进行数据存储时, 大写的英文字符会转换成小写。 但keyword类型属于精准匹配,没法实现大小写区分。 normalizer官方解释 第一:normalizer是 keyword的一个属性,类似 analyzer分词器的功能,不同的地方在于:可以对 keyword生成的单一 Term再做进一步的处理。 第二:normalizer 在 keyword 类型数据索引化之前被使用,同时在 match 或者 term 类型检索阶段也能被使用。 使用方式1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465PUT index{ "settings": { "analysis": { "normalizer": { ...
es自定义分析器以及自动补全
自动补全当用户在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,如图: 这种根据用户输入的字母,提示完整词条的功能,就是自动补全了。 因为需要根据拼音字母来推断,因此要用到拼音分词功能。 测试用法如下: 12345POST /_analyze{ "text": "如家酒店还不错", "analyzer": "pinyin"} 结果: 0.自定义分词器默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。 elasticsearch中分词器(analyzer)的组成包含三部分: character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符 tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart [tokenizer] filter:将tokenizer输出的词条做进一步处理。例如大小...
记录docker集群部署es7.x
三台机器 192.168.56.105192.168.56.106192.168.56.107 所有之前先运行下面指令,(防止jvm报错)12345sysctl -w vm.max_map_count=262144#只是测试,所以临时修改,永久修改使用下面echo vm.max_map_count=262144 >> /etc/sysctl.confsysctl -p es-node1 1234567891011121314151617181920212223242526272829# 集群名称,相同名称为一个集群cluster.name: elasticsearch-cluster# 节点名称,集群模式下每个节点名称唯一node.name: es-node1# 监听地址,用于访问该es,0.0.0.0代表不限制network.host: 0.0.0.0# 表示这个节点是否可以充当主节点node.master: true# 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址(本机ip)network.publish_h...
flink问题:esotericsoftware.kryo.serializers.CollectionSerializer.read NullPointerException
(flink)问题:esotericsoftware.kryo.serializers.CollectionSerializer.read NullPointerException 异常如下 123456789101112131415161718192021222324252627282930313233com.esotericsoftware.kryo.KryoException: java.lang.NullPointerExceptionSerialization trace:values (org.apache.avro.generic.GenericData$Record) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528) at com.esotericsoftware...
记一次项目压测
结合项目说下压测/调优 项目压测,cpu占用比较大,除了测试服务器本身的性能影响外,还存在项目本身的问题 这是服务器的配置 4core,8G,磁盘50g,作为一个高峰期并发不到1000的的项目,总的来说这个配置还能用.然后并发刚干到30,就这样了 最下面两条的是两台服务器内存.粉色的是项目所在服务器的cpu,蓝色是db cpu,项目占用cpu彪的太狠,所以展开调查 压测,将rate up时间弄得稍微长一点.项目是docker服务,jdk版本1.8 docker exec -it id bash :进入容器.需要进入容器操作jstack命令 jps -l:查看java服务pid,当然容器内部就一个服务包和openjdk jstack -l pid >> /opt/xxx.txt: 将堆栈信息打出来 通过jstat -gcutil pid查看M的值,即MetaSpace区使用率 通过jstat -gc pid 2s(间隔时间) 3(持续次数)命名查看MU/MC即Meta区的使用率 使用jstat -gccause p...
Centos恢复删除的文件
当意识到误删除文件后,切忌千万不要再频繁写入了,否则你的数据恢复的数量将会很少。 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kill -9 pid 。 然后把误删除文件所在分区,重新挂载成ro,只读的 (mount -o ro /dev/sdb2 /data/)。 然后我们需要去下载和安装一个工具叫做 extundelete 1.安装依赖包# yum install e2fsprogs* -y 2.下载并安装extundelete 1234567wget https://sourceforge.net/projects/extundelete/files/extundelete/0.2.4/extundelete-0.2.4.tar.bz2/download?use_mirror=jaisttar -jxvf extundelete-0.2.4.tar.bz2cd extundelete-0.2.4./configure --prefix=/usr/local/extundelete#...
Realm: Linux下,流量转发端口转发工具,支持本机BBR
realm地址: https://github.com/zhboner/realm 简介 支持DDNS 只要传入一个域名,那么就能自动后台更新解析。高效,低消耗 依托于Rust语言,Realm保证内存安全。另外,相较于采用Go语言编写的Brook和gost,Realm执行速度更快,资源占用更低,非常适合在低配置的主机上使用。简单 相较于使用iptables动辄几条复杂的命令,Realm仅需一条命令就能启动,保证了部署的方便。UDP + TCP 无需额外的工作,Realm就能同时转发UDP和TCP。 下载,安装 linux环境下载此包, 然后放在**/usr/bin**下, 并赋予可操作权限 使用方式Start from command line arguments:123456# 让 realm 监听本机上的 5000 端口,然后转发流量到 1.1.1.1:443#具体的,启动 realm 需要两个参数:-l 和 -r。#-l 指定监听的本机地址和端口,地址可以省略,但必须指定端口。不指定地址的话会使用默认的 127.0.0.1 地址#-r 指定转发的目的...
Shell(Bash)学习记录
shell脚本 脚本以#!/bin/bash开头 输出Hello World !到/usr/test.txt(如果输入文本中带引号和$,需要用\进行转义) 12#!/bin/bashecho "\"Hello World\" !" > /usr/test.txt 删除日志的一份shell脚本,当前路径在s下,然后要删除a,b,c下的log /s/a /s/b /s/c 12345678910111213141516171819202122232425#!/bin/bash# 定义变量folders# ()是数组folders=(a,b,c)# 使用${folders}引用变量# 逻辑循环for file in ${folders[*]}do cd ${file} for subfile in ./* do # test -d:检测是否...
centos7升级openssl
CentOS7升级OpenSSL版本原文 1.CentOS7.6默认安装的openssl版本为12# 查看openssl版本openssl version 2.下载最新的openssl1wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz 3.解压并编译安装12345678tar -zxvf openssl-1.1.1c.tar.gzcd openssl-1.1.1c./config --prefix=/usr/local/openssl #如果此步骤报错,需要安装perl以及gcc包make && make installmv /usr/bin/openssl /usr/bin/openssl.bakln -sf /usr/local/openssl/bin/openssl /usr/bin/opensslecho "/usr/local/openssl/lib" >> /etc/ld.so.confldconfig -v ...
crontab的用法及纠错
crontab在线网站: https://tooltt.com/crontab/c/56.html安装cron(centos默认自带)123yum -y install vixie-croninfo crontab: 验证 一些基本使用命令123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数crontab -l //列出某个用户cron服务的详细内容crontab -r //删除没个用户的cron服务crontab -e //编辑某个用户的cron服务比如说root查看自己的cron设置:crontab -u root -l再例如,root想删除fred的cron设置:crontab -u fred -r在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e查看执行日志: tail -f /var/log/...
