分布式事务
Feign远程调用
网关
配置中心和注册中心
Docker![](https://img-blog.csdnimg.cn/direct/23b02357acef483ca6df142ba8f17dd0.png)
![](https://img-blog.csdnimg.cn/direct/fc5b7b5225e7417195130846a2277d73.png)
![](https://img-blog.csdnimg.cn/direct/3e854d69cbfc4cadb5db35927c904c77.png)
![](https://img-blog.csdnimg.cn/direct/96c6f3d5f75e40628d8acfc1d84d6fe3.png)
![](https://img-blog.csdnimg.cn/direct/76e5ea71c3904dde853d99edc1fe661a.png)
![](https://img-blog.csdnimg.cn/direct/0a19f529c9114cbbb85aa2da80dc5a71.png)
![](https://img-blog.csdnimg.cn/direct/0fdb5ea02cc24e6bba6e124477f81399.png)
ES
关于es的查询
-
match查询:单字段查询
-
multi_match查询:多字段查询,任意一个字段符合条件就算符合查询条件
一般都是用match查询 因为性能高 先把需要的字段copy到all字段 然后match查询 性能更高
上面两种查询的字段都是会分词 而下面的精确查询的字段不会分词
精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以不会对搜索条件分词。常见的有:
-
term:根据词条精确值查询
-
range:根据值的范围查询
term查询
因为精确查询的字段搜是不分词的字段,因此查询的条件也必须是不分词的词条。查询时,用户输入的内容跟自动值完全匹配时才认为符合条件。如果用户输入的内容过多,反而搜索不到数据。
range查询
范围查询,一般应用在对数值类型做范围过滤的时候。比如做价格范围过滤。
ES中GetRequest和SearchRequest的区别
`GetRequest` 和 `SearchRequest` 是 Elasticsearch Java 客户端中两种不同类型的请求,它们用于从 Elasticsearch 中检索数据,但在使用方式和作用上有所不同:
1. **GetRequest**:
- **作用**:用于检索单个文档的请求。
- **用法**:你需要指定索引、文档类型和文档 ID,然后 Elasticsearch 将返回该文档的内容。
- **场景**:适用于已知文档 ID 的情况,通常用于获取特定文档的详细信息。
2. **SearchRequest**:
- **作用**:用于执行搜索查询的请求。
- **用法**:你可以在搜索请求中设置各种查询条件,例如基于字段值的条件、过滤器、聚合等,然后 Elasticsearch 将返回匹配查询条件的文档列表。
- **场景**:适用于需要根据复杂查询条件检索文档的情况,通常用于执行全文搜索、过滤、聚合等操作。
总的来说,`GetRequest` 用于检索单个文档,而 `SearchRequest` 用于执行搜索查询并返回匹配查询条件的多个文档。
因此 两者处理响应的过程也不一样
一种返回的是hit 一种返回的是json
ES中match_all和match_query查询all字段的区别
`match_all` 查询并不是使用 `match_query` 或 `multi_match_query` 进行全文检索。相反,`match_all` 是一种特殊的查询类型,它简单地匹配索引中的所有文档,而不考虑查询条件。
- **match_all** 查询:该查询会匹配索引中的所有文档,无论其字段值如何。它是一个简单的查询,常用于获取索引中的所有文档,或者作为其他查询的基础查询,用于过滤文档集合。
- **match_query** 和 **multi_match_query** 是用于全文检索的查询类型,它们会根据指定的查询条件在索引中查找匹配的文档。这些查询类型会根据查询条件对文本内容进行分词,并根据分词后的词项在倒排索引中匹配文档。它们通常用于用户输入的搜索查询,以在索引中查找匹配的文档。
所以,`match_all` 查询不是对所有字段进行全文检索,而是简单地匹配索引中的所有文档;而 `match_query` 和 `multi_match_query` 则是用于全文检索的查询类型,它们会根据查询条件在索引中进行全文检索匹配。
微服务![](https://img-blog.csdnimg.cn/direct/5ace53291aa945b1a7b9863900d37fbb.png)
![](https://img-blog.csdnimg.cn/direct/0735a1ff7289444e872b335ed5ccba8c.png)
![](https://img-blog.csdnimg.cn/direct/6fcea8a7c6fc467bbecbcfef1d9aa316.png)
![](https://img-blog.csdnimg.cn/direct/1a1bf0d24f6a4481bf1c208fbd4e1134.png)
![](https://img-blog.csdnimg.cn/direct/1f2b503f06dc43ceb969f5e28baedf08.png)
![](https://img-blog.csdnimg.cn/direct/40b2a0be89504242b843356c6c4b5bdd.png)
![](https://img-blog.csdnimg.cn/direct/7dd256dafd9e480a861a386d9ef54219.png)
![](https://img-blog.csdnimg.cn/direct/815bd77a775c47c9aba0628e09607743.png)
![](https://img-blog.csdnimg.cn/direct/29a9e4b5d3334af1b29f0a0d27df37ba.png)
![](https://img-blog.csdnimg.cn/direct/bc0652f8274b437e95d5f1192d2a1af7.png)
![](https://img-blog.csdnimg.cn/direct/7646a03b702c483594157df999885818.png)
MQ
多级缓存
minio
代理
模板引擎
服务降级