网络问题解决
java忽略证书验证(兼容http,https)链接
ElasticSearch Analysis 文本分析器
1 定义 analyzer 分词器,专门处理分词的组件,可以在创建索引的时候在setting中替换 Ananlysis 是把全文转换为单词 Character Fliters 处理原始文本,如出去html标签等 HTML strip 去除html标签 Mapping 字符串替换 Pattern replace 正则替换 Tokenizer 分词,按照规则切分单 standard simple whitespace keyword path hierarchy 按照目录切分 Token Filters 将切分后的单词加工,如转换大小写,同近义词等 stop lower case 2 自定义分词器
ElasticSearch 安装
1. ES主体安装1.1. 获取ES下载ES,拷贝至目录 /opt 1.2. 安装es1.2.1. 解压1tar -zxvf es.tar.gz 1.2.2. 创建用户用户组,修改文件权限由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,需要创建一个单独的用户用来运行ElasticSearch 1234groupadd elasticuseradd elastic -g elastic -p 123456# 修改权限chown -R elsearch:elsearch elasticsearch-7.13.4 1.2.3. 启动es切换到es目录,启动 123cd /opt/elasticsearch-7.13.4/bin# -d参数为后台启动./elasticsearch -d 1.2.4. 检查 本地检查 1curl 127.0.0.1:9200 外网检查 浏览器访问 {ip}:9200 1.2.5. 问题解决 启动可能遇到的问题 1.2.5.1. 未使用ES_JAVA_HOME 变量JAVA_HOME...
ElasticSearch 索引模板IndexTemplate和动态模板DynamicTemplate
IndexTemplate索引模板我们可以在es中内置默认的通用模板,创建索引时根据一定的顺序使用相应的模板应用在索引中,避免了大量重复创建模板 12345678910111213PUT _template/template_default{ "index_patterns": ["*"], "order": 0, "settings": { "number_of_shards": 1, "number_of_replicas": 1 }, "mappings": { "date_detection": true, //时间类型探测 "numeric_detection": true //数字类型探测 ...
ElasticSearch 语法
1. 服务相关1.1. analyzer 分析123456789101112131415161718192021222324//指定索引分词GET users/_analyze{ "analyzer": "analyzer1", //官方的分词器或自建在索引的分词器 "text": ["i am :)"]}//自定义分词GET users/_analyze{ "text": [" <br>今天很 :) <br>"], "explain": false, //是否分析 "char_filter": [ { "type":"html_strip" //处理html },{ "type":"mapping", ...
1 手动安装Mysql
安装安装引用 下载解压移动至目标1mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql 创建用户、用户组123groupadd mysqluseradd -r -g mysql mysql 在/usr/local/mysql目录下创建data目录1mkdir /usr/local/mysql/data 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限123chown -R mysql:mysql /usr/local/mysqlchmod -R 755 /usr/local/mysql 在 etc 下新建配置文件my.cnf,并在该文件中添加以下配置代码1vim /etc/my.cnf 1234567891011121314151617181920212223242526[mysql]#...
ConcurentHashMap解析
说明ConcurrentHashMap并发容器 采用 cas自旋、while/for死循环、sychronize锁三种方式保证线程竞争下的插入安全,其原理与HashMap并不相同,改动量比较大 jdk7采用分段segament的概念,把数组分为几段,每次锁一段达到并发的目的,但是分段会多维护一次hash jdk8采用锁数组的节点Node,将链表或红黑树整个锁定,达到线程安全。jdk8的精髓就在于没有node节点的时候数据的并发插入,它并没有阻塞线程,而是cas重试 源码解析Jdk8源码putValue()1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980final V putVal(K key, V value, boolean onlyIfAbsent) { //第一部分 ...
HashMap源码分析
put()12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; //判断是不是未初始化,没初始化则初始化 if ((tab = table) == null || (n = tab.length) == 0) n = (tab =...
HashMap解析
说明 底层采用数组+链表的数据结构存储 默认初始16容量,每次扩容2倍,加载因子0.75(即到了最大容量的0.75倍就开始扩容,因为过大的时候hash碰撞严重 自定义容量会按照向上取最近2^n数量定义初始容量,如new...
Jdk8新特性-Strean流
CollectJava8中Collectors详解
