自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 spring cloud gateway如何从数据库动态路由(兼容consul)

3.实现RouteDefinitionRepository,网关在需要更新路由时会执行对应方法。4.路由解析,根据不同的类型组装相应的RouteDefinition。2.在bootstrap.yml配置网关和consul地址。4.2.1 lb类型,从consul中注册的服务名消费。4.2.3 upstream类型,多个节点按权重路由。4.2根据不同的类型实现接口。4.2.2 普通地址类型。1.首先是配置相关依赖。

2023-07-19 10:05:28 875

原创 流程引擎多人审批节点如何判断是否完成

上面这四种情况其实含有一些重叠,比如情况2就是情况3在n=1时的特例,情况1是情况4在n=100时的特例,之所以分四种情况是为了用户交互时理解的方便。n%人通过 ----无论多少人审批,只要其中百分之n人通过,该节点审批就结束了(审批结果通过)单人否决 ----无论多少人审批,只要其中1个人否决,该节点审批就结束了(审批结果不通过)单人通过 ----无论多少人审批,只要其中1个人通过,该节点审批就结束了(审批结果通过)n人通过 ----无论多少人审批,只要其中n个人通过,该节点审批就结束了(审批结果通过)

2023-03-09 13:42:12 583

原创 es7实现父子查询

假设一个商品搜索的场景,一个商品有多个供应商,不同的供应商可能有不同的价格和配送等标签,怎么为商品及其店铺配送属性建立索引?一种方法是将商品*店铺平铺,但此种方法缺点有1)当商品基本属性修改时,需要更新多个doc(每个店铺都要更新),2)索引量比较大。我们采用另外一种方法:父子索引和查询。1)定义索引结构put http://localhost:9200/upcs{ "mappings": { "properties": { "title": {

2022-05-11 15:31:07 601

原创 汉语拼音的模糊音扩展(用于搜索纠错)

由于现在使用拼音输入法较多,很可能输入同音字而无法搜索到结果,或者由于拼音不好(前后鼻音不分)输入了错误的拼音。例如用户输入刘来(liulai),可能真实意图是牛奶(niunai),那我们可以对liulai进行模糊音扩展,然后一起放到搜索引擎中去搜索。为了避免过度扩展曲解了用户的意思,对于扩展词方法进行排序,越少改动越排在前面(原文排在最前),越多改动越排在后面。在搜索时按照顺序赋予不同的权重。 类似这样: "query": {"bool":{ "should":[ ...

2021-12-16 11:07:55 615 1

原创 简单的基于规则的汉语拼音分词

当用户输入连续的没有空格分隔的全拼时怎么把分词?本分词基于汉语拼音的规则进行简单的分词。有以下缺点:1.在xi‘an(西安)这种会不分词,xi’nan(西南)会分成(xin an)新安。没有考虑词频语义。2.如果拼音中有无法拆分的,例如womendekpi,因为kpi无法拆分,则整个分词会失败。//声母表 static String[] smb = new String[]{"b", "p", "m", "f", "d", "t", "l", "n", "g", "h", "k" ,

2021-12-16 10:00:13 827

原创 简单的es重启脚本

ps aux|grep elastic|grep /bin/java|awk '{print $2}'|xargs kill -9/home/azureuser/elasticsearch-7.15.2/bin/elasticsearch -d -p pid1/home/azureuser/elasticsearch-7.15.2/bin/elasticsearch -E path.data=/data/esdata2 -E path.logs=/data/eslog2 --E node.name=e.

2021-11-25 14:12:49 1891

原创 给linux加个磁盘(分区+格式化+mount)

1. 分区1)lsblk -f #查看已有分区2)df -h #查看已有磁盘容量分配3)fdisk /dev/sdc #/dev/sdc 是要进行格式话的磁盘,回车后 ,按n创建新分区,然后一直缺省,然后按w保存提交4)mkfs -t xfs /dev/sdc1 #格式化成xfs格式,也可以是ext4等5)vim /etc/fstab #编辑fstab,加入mount目录配置,例如:/dev/sdc1 /data xfs defaults

2021-11-19 14:38:36 884

原创 判断矩形是否相交(有公共面积)

/* int[] rect=new int[]{x1,y1,x2,y2}; 其中(x1,y1)是矩形的左下角,(x2,y2)是矩形的右上角 */ boolean isInsect(int[] rect1, int[] rect2) { if (rect1[0] > rect2[0]) return isInsect(rect2, rect1); if (rect2[0] < rect1[2]) { ...

2021-11-17 10:19:00 170

原创 RabbitMQ集群搭建

在centos 8上搭建RabbitMQ集群的方法:1.安装包的准备在erlang和rabbitmq官网下载安装包:1)erlang-21.3.8.6-1.e17.x86_64.rpm2) rabbitmq-server-3.7.16-1.e17.noarch.rpm2.单机安装步骤2.1 执行安装命令:yum localinstall rabbitmq-server-3.7.16-1.e17.noarch.rpm2.2 启动:1) 启动管理进程/usr/lib/r.

2021-11-15 13:21:34 2019

原创 用Kafka实现延迟消息

本篇参考了基于kafka实现延迟队列 - 知乎,实现了Rocket MQ 18级延迟消息队列的功能,并加入任意延迟时间的支持(通过多个延迟队列的转发实现)。1. Kafka操作工具类——KafkaManager 本类实现了对Kafka的连接和基本操作。import org.apache.kafka.clients.admin.*;import org.apache.kafka.common.TopicPartitionInfo;import org.springframework...

2021-11-12 18:17:16 9583 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除