- 博客(54)
- 收藏
- 关注
原创 analysis-pinyin分词器中各配置参数说明
Analysis - pinyin 分词器主要用于中文文本处理。它能将中文转换为拼音,在索引阶段丰富索引内容,提高召回率;在搜索阶段支持拼音匹配、纠错和模糊搜索,可用于文档管理、电商产品搜索等场景,拓展了搜索方式,方便用户查找内容。
2025-01-07 11:38:03
1018
原创 elasticsearch-java客户端jar包中各模块的应用梳理
在 Elasticsearch 中,悬空索引(Dangling Index)是一种特殊的索引状态。它主要是指在集群状态更新过程中,索引的元数据在集群状态中被标记为已删除,但索引的实际数据(如分片)仍然存在于节点的存储中。这种情况可能会导致一些问题,例如占用磁盘空间,并且可能会干扰集群的正常操作。
2024-12-27 17:30:21
1520
原创 Elasticsearch Java Api Client中DSL语句的查询方法汇总
【代码】Elasticsearch Java Api Client中DSL语句的查询方法汇总。
2024-12-12 16:31:27
1811
原创 使用elasticsearch-java客户端API生成DSL语句
在Elasticsearch7.15.0之后,官方提供了elasticsearch-java包作为java客户端工具包,由于取代elasticsearch-rest-high-level-client,其底层依然依赖Elasticsearch Low Level REST 客户端,即elasticsearch-rest-client。
2024-12-11 15:20:38
630
原创 OpenSearch2.17集群部署
获取新密码的hash值:进入opensearch-2.17.1/plugins/opensearch-security/tools 目录,通过hash.sh进行获取。使用root用户,是不允许启动服务的,java.lang.RuntimeException: can not run opensearch as root,所以需要新增一个用户。修改此文件主要是调整-Xms和-Xmx的大小,默认为1g,建议设置为机器内存大小的一半,不要超过32g。修改admin账号的密码,只需修改admin.hash的值。
2024-11-20 17:52:29
1297
原创 Centos7安装mysql8.0整理
一、安装前准备工作1、查看是否有安装过mysqlrpm -qa | grep -i mysql 2、删除mysql(安装过)yum -y remove MySQL-* 3、找出mysql目录并删除find / -name mysql查找mysql的一些目录,把所有出现的目录删除,可以使用rm -rf 路径,删除时请注意,一旦删除无法恢复。4、删除配置文件rm -rf /etc/my.cnf5、删除mysql的默认密码rm -rf /roo...
2021-08-09 16:39:09
187
原创 circuit_breaking_exception,“reason“:“[parent] Data too large, data for [<http_request>]
ES 断路器,jvm堆内存不够当前查询加载数据所以会报data too large, 请求被熔断。一、出现原因批量导入数据过多 或者 查询数据太多,比较频繁集群状态为yellow或red时,分析原因:GET _cluster/allocation/explain二、定期清理缓存出现这样问题,一般是 服务器 内存不够导致的,可以加大 ES可用的内存,但是如果加大不了,那么为了保证服务的可用性,可以 来一个定时任务,定期清理 索引缓存。虽然可能导致 查询会慢,但是总比直接报错 查询.
2021-07-23 17:52:32
7489
原创 Elasticsearch高性能优化实践
ES 性能调优ES 的默认配置,是综合了数据可靠性、写入速度、搜索实时性等因素。实际使用时,我们需要根据公司要求,进行偏向性的优化。一、写优化假设我们的应用场景要求是,每秒 300 万的写入速度,每条 500 字节左右。针对这种对于搜索性能要求不高,但是对写入要求较高的场景,我们需要尽可能的选择恰当写优化策略。综合来说,可以考虑以下几个方面来提升写索引的性能:加大 Translog Flush ,目的是降低 Iops、Writeblock。 增加 Index Refresh 间隔,
2020-08-29 10:48:53
3751
2
原创 Elasticsearch慢查询日志配置
参看网址:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/index-modules-slowlog.html1、通过修改elasticsearch.yml来启用慢查询:vimelasticsearch.yml###Search Slow Log :查询慢日志配置,日志记录在以“_index_isearch_slowlog.log”结尾的文件中#注:配置不一定都需要,自己选择需要那种级别(warn、info、deb...
2020-07-14 20:37:49
1983
原创 elasticsearch 插件 大全
推荐几款比较常用的elasticsearch插件1.集群监控插件bigdesknodeimageclusterimage2.集群资源查看和查询插件kopfimageimageHQ #elasticsearch-HQ3.调试查询inquisitorimage4.类似sql语法的查询插件elasticsearch-sql(...
2019-10-18 14:27:37
341
原创 通过IDEA的Terminal操作命令时遇到的坑
一、java和javac版本的问题idea版本是IntelliJ IDEA 2019.2,安装完成后,然后通过terminal执行java -version和javac -version时,版本号为11.0.3。需要调整的地方是菜单help-->find action ,输入switch boot jdk,弹出如下框,改成本机的jdk1.8即可。二、maven配置的问题记住...
2019-09-20 22:24:26
6945
1
原创 Elasticsearch7 单节点与集群部署
最近对新版本的ES进行测试,现在整理一下。一、Elasticsearch 7.x 特性ES 7.0是2019年4月份发布的,底层是Lucence 8.0。其新特性有:1、废除单个索引下多Type的支持2、彻底废弃_all字段支持,为提升性能默认不再支持全文检索3、新增应用程序主动检测功能,搭配对应版本的kibana,用户可监测应用服务的健康状态,并在出现问题后及时发出通知4...
2019-09-17 20:28:13
8979
原创 centos7下zookeeper集群安装部署
Zookeeper介绍:Zookeeper是一个分布式协调服务。本身就是一个分布式程序,只要半数以上节点存活,zookeeper就能正常服务。为分布式应用提供一致性服务(CAP理论的CP,区别于Eureka的AP)。zookeeper底层其实只提供了两个功能:1)管理(存储、读取)用户程序提交的数据;2)为用户程序提交数据节点监听服务。原理:zookeeper在配置文件中并没有指...
2019-09-12 17:48:22
203
原创 Elasticsearch介绍及核心概念
一、什么是Elasticsearch?es基于lucence,隐藏复杂性,提供简单易用的restful api接口、java api接口(还有其它语言的api接口)es是一个实时分布式搜索和分析引擎,它用于全文搜索、结构化搜索、分析。二、Elasticsearch特点三、Elasticsearch核心概念3.1近实时从写入数据到可以被搜索到有一个小延迟(大概1秒);...
2019-09-05 10:03:13
869
原创 线上扩展Elasticsearch节点的过程
前置条件:1.保证当前机器能ping通要加入的集群的节点2.保证当前机器的es使用的端口未添加防火墙,默认为9200,9300说明:集群添加节点不会影响线上已经上线的程序中配置的节点信息,例如程序中配置的为a、b、c节点,要上线的节点为d、e,当上线节点时,不会影响程序使用扩充节点:1.设置es堆大小,(es默认堆大小为1g,需要设置为机器内存的一半,...
2019-09-04 15:20:48
1001
原创 MySQL的create table as 与create table like区别
最近在进行数据库表备份时,遇到一个坑:create table 的用法上,有关索引丢失的问题。对于mysql的复制相同表结构方法,有create table as 和create table like 两种: create table t2 as select * from t1;as创建出来的t2表(新表)缺少t1表(源表)的索引信息,只有表结构相同,没有索引。 cr...
2019-03-18 11:52:38
13426
翻译 Centos7+Tomcat8,tomcat启动巨慢的解决方案
在apache-tomcat官方文档:如何让tomcat启动更快里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的“熵源”(entropy source)的策略。他提到tomcat7的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG” A.使用伪随机函数生成器/dev/unran...
2018-09-14 17:07:17
858
转载 Spring Boot:内置tomcat启动和外部tomcat部署总结
springboot的web项目的启动主要分为:一.使用内置tomcat启动启动方式:1、IDEA中main函数启动2、mvn springboot-run 命令3、java -jar XXX.jar使用第三种时,为保证服务在后台运行,会使用nohup ,例如:nohup java -jar -Xms128m -Xmx128m -Xss256k -XX:+PrintG...
2018-05-09 20:07:12
167078
9
原创 Java并发编程——阻塞队列
阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。 BlockingQueue有两个阻塞场景:1、当队列中没有数据的情况下,消费者端的所有线程都会被自动阻塞(挂起),直到有数据放入队列。2、当队列中填满数据的情况下,生产者端的所有线程都会被自动阻塞(挂起),直到队列中有空的位置,线程被自动唤醒。BlockingQueue的核心方法:放入数据(offe...
2018-04-23 12:51:18
186
原创 Java反射机制
Java 反射是 Java 被视为动态(或准动态)语言的一个关键性质。Java 反射机制容许程序在运行时加载、探知、使用编译期间完全未知的 classes。换言之,Java 可以加载一个运行时才得知名称的 class,获得其完整结构。Java 反射相关的 API 在包 java.lang.reflect 中。Java 反射机制提供如下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个...
2018-04-23 12:44:34
164
原创 TCP与UDP区别总结
TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付3、TCP面向...
2018-04-23 11:39:33
166
转载 分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...
2018-04-22 22:56:56
147
原创 [MySql]explain用法详解
转自:https://yq.aliyun.com/articles/51753摘要: 写在前面 explain对我们优化sql语句是非常有帮助的。可以通过explain+sql语句的方式分析当前sql语句。 例子 EXPLAIN SELECT dt,method,url FROM app_log WHERE id=11789 table 显示这一行数据属于哪张表,若在查询中为select起了别名,...
2018-04-22 21:41:34
253
原创 抽象类与接口以及Java8中接口的默认方法
Java8中的默认方法和静态方法的由来,首先还是先重温一下抽象类和接口的区别:抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。public abstract class GenericServlet implements Servlet, ServletConfig, Serializable { // abstract...
2018-04-22 21:06:03
12481
2
原创 ReentrantLock使用场景以及注意事项
import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.ReentrantLock;/** * @author FanShukui * @version 2018/4/21 18:01 */public class ReentrantLockTest { public static Reen...
2018-04-21 18:06:54
2381
2
转载 java8的parallelStream
先看一段代码,分别为串行遍历、并行遍历、并行加锁遍历:private static List<Integer> list1 = new ArrayList<>();private static List<Integer> list2 = new ArrayList<>();private static List<Integer> li...
2018-04-20 11:07:23
1174
转载 MySQL优化细节分析
一、数据类型优化1. 为什么要尽量避免NULL?因为对于NULL列,MySQL更难优化,因为NULL使得索引,索引统计和值都更加复杂可为null的列会使用更多的存储空间当null列被索引时,每一个索引记录需要1个额外的字节,在MyISAM可能还会导致固定大小的索引变为可变大小的索引2. 整数类型指定长度int(10),大多数情况下是没有意义的,对于存储和计算来说,int(1)和int(10)是相同...
2018-04-17 21:19:43
151
转载 MYSQL性能优化的最佳20+条经验
1. 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:12345...
2018-04-17 21:00:32
216
原创 使用@Transactional需要注意的
使用@Transactional的时候请注意一下两点:1、方法一定要 throws Exception2、如果方法里用到了try{}catch(){},那么catch里一定要throw new Exception(e),且使用@Transactional(rollbackFor=Exception.class)
2011-10-26 17:57:41
712
原创 sql循环嵌套、游标使用、循环结果集示例
sql循环嵌套、游标使用、循环结果集示例:declarecursor user_id isselect u.agent_user_id as userid from (select t.agent_user_id from agent_power t groupby t.agent_user_id) temp, agent_user u where temp.agent_user_id = u.agent_user_id and u.agent_user_code like'%admin'
2011-04-25 15:50:00
1507
原创 Building Word 2007 Documents Using Office Open XML Formats
<br />今晚收到了朋友的一个zip文件,里面全是xml格式,开始不知如何打开,后来看了看[Content_Types].xml的内容,<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">,在网上搜了一下这个schemas,找到了这个网址:http://msdn.microsoft.com/en-us/library/bb264572(v=office.12).aspx,才知道如何打开的,原来这是通过这些固
2011-04-11 23:00:00
407
原创 svn 简介及搭建步骤 --- 补充说明
<br />前段时间,做了svn server的学习和搭建,还有结合apache server的svn的搭建,虽然也成功使用svn://和http://来访问svn管理仓库中的文件(同时包括用户权限的配置),但svn server与apache server 是单独安装后,再通过配置的修改进行结合的。而今天又在网上看到了一种基于collabnet(http://www.collab.net/)的svn server(http://www.collab.net/downloads/subversion/)的搭
2011-04-01 17:05:00
435
原创 maven 学习内容整理
1、maven的定义:Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。2、apache maven与apache ant的比较:1)、约定方面: Ant 没有正式的约定如一个一般项目的目录结构,你必须明确的告诉 A
2011-03-31 10:13:00
431
原创 window下,Subversion应用在Apache HTTP服务器上(http://)
1、软件:Subversion:Setup-Subversion-1.6.13.msi(http://subversion.apache.org/packages.html);Apache HTTP Server服务器:httpd-2.2.17-win32-x86-no_ssl.msi(http://httpd.apache.org);2、安装软件时注意:安装Apache HTTP Server服务器完毕后,使用浏览器打开网址http://localhost 检查安装是否成功完成。如果Apache无法启动请
2011-03-22 14:32:00
2018
原创 svn 简介及搭建步骤
Subversion 是一个集中式的信息共享系统。版本库是 Subversion 的核心部分,是数据的中央仓库。版本库以典型的文件和目录结构形式文件系统树来保存信息。任意数量的客户端连接到Subversion 版本库,读取, 修改这些文件。客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。Subversion,CVS和一些版本控制系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作副本—版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各
2011-03-16 15:02:00
578
原创 刚刚接触的涉及html的工具
<br />学习中<br />1、Modernizer<br /> 当浏览器不支持HTML5表单或者一部分特性时,我们将会提供替代方案。和检测浏览器的方式相比,更合适的技术是使用特性检测。我们将会使用当前流行的Modernizr库。<br /> Modernizr是一个小型的Javascript库,检测当前浏览器支持HTML5和CSS3的哪些特性。<br />2、Webforms2<br /> Webforms2是 Weston Ruter开发的一个Javascript库
2011-03-14 16:44:00
331
原创 Java多线程之同步与死锁
Java多线程之同步与死锁1.线程的同步<br />1)The code segments within a program that access the same object from separate, concurrent threads are called “critical sections”。这是临界区的概念。<br /> <br />2)同步的两种方式:同步块和同步方法。<br /> <br />3)每一个对象都有一个监视器,或者叫做锁。<br />当线程执行到synchronized的
2011-03-08 17:58:00
1156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人