0%

在rocketmq中,MQProducer是承载消息发送的,消息的发送又可以分为常规消息的发送和事务消息的发送,其中常规消息发送用的是DefaultMQProducer,事务消息的发送用的是TransactionMQProducer。他们集成关系图如:

Read more »

从功能上来说,rocketmq支持三种发送消息的方式,分别是同步发送(sync),异步发送(async)和直接发送(oneway)。下面来简单说明一下这三种发送消息的方式,以便了解它们之间的差异。

以下的案例代码将会使用spring-message风格进行展示,即使用rocketMQTemplate方式,详见rocketmq-spring

Read more »

场景

terms聚合的结果直接返给前端处理,如果bucket的key为字符串时,在mvc层jackson进行json序列化处理会报类型转换错误。

原因分析

terms聚合的结果中有keyAsNumber字段,是将桶key转为number类型,但是当key为字符串类型的数据时,是无法转为numebr类型的。

Read more »

场景

业务需求中,在计算人均通话数时,使用聚合的时候使用到了内联以及反内联聚合,当bucket_script聚合作为反内联reverse_nested的子聚和的时候,会报如下错误:

1
org.elasticsearch.ElasticsearchException: Elasticsearch exception [type=class_cast_exception, reason=org.elasticsearch.search.aggregations.bucket.nested.InternalReverseNested cannot be cast to org.elasticsearch.search.aggregations.InternalMultiBucketAggregation]
Read more »

场景

做分页查询,当分页达到一定量的时候,报如下错误:

1
Result window is too large, from + size must be less than or equal to: [10000] but was [78020]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting.
Read more »

计算文本相似度有多种方式,这里简单介绍一下其中的一种:词向量余弦。

词向量余弦

词向量余弦算法,是将文本作为一个多维空间的向量,计算两个文本的相识度即计算判断两个向量在这个多维空间中的方向是否是一样的。而这个多维空间的构成是通过将文本进行分词,每个分词代表空间的一个维度。

Read more »

定时任务的是很常见的开发工作,在springboot中我们可以用注解很easy的实现。首先,需要加入@EnableScheduling注解开启定时任务功能,如下所示:

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableScheduling
public class SpringbootAcTaskApplication {

public static void main(String[] args) {
SpringApplication.run(SpringbootAcTaskApplication.class, args);
}

}
Read more »