目录
100.ElasticSearch(简称ES) 一个分布式全文搜索引擎
- @Data
- @Component
- @ConfigurationProperties(prefix = "servers")
- public class ServerConfig {
- private String ipAddress;
- private int port;
- private long timeout;
-
- @DurationUnit(ChronoUnit.HOURS)
- private Duration serverTimeOut;
-
- @DataSizeUnit(DataUnit.MEGABYTES)
- private DataSize dataSize;
- }
这里的@DurationUnit(ChronoUnit.HOURS)注解表示崽yml文件中配置serverTimeOut的单位会自动设置为小时。
@DurationUnit(ChronoUnit.HOURS)
private Duration serverTimeOut;
而@DataSizeUnit(DataUnit.MEGABYTES)表示下面的dataSize在配置时,单位是MB





这样测试类端口就会随机开启一个

1.首先看到控制类,有这样一个books,用get访问到就会打印“is runnning”

2.测试类
先在@SpringBootTest
后面加属性(webEnvironment=SpringBootTest.WebEnvironment.RANDOM_PORT)
表示会随机模拟一个端口
然后写这样一个方法

参数是一个模拟的mvc对象
下面是固定语句。
这里可以选get,post,put等不同的方式

-
- @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
- @AutoConfigureMockMvc
- public class Webtest {
- @Test
- void test(){
-
- }
-
- @Test
- public void testWeb(@Autowired MockMvc mvc) throws Exception {
- //创建虚拟请求,当前访问/books
- MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/books");
- //执行请求
- ResultActions actions = mvc.perform(builder);
-
- }
-
- }
有RedisTemplate和StringRedisTemplate两种
前者是对对象进行读写,会对对象进行序列化
常用的是StringRedisTemplate
使用步骤:

通过一条数据中的某个字段来搜索,首先将该字段的值拆分为很多个小词,然后建立正排表,即每条数据对应哪些小词,然后根据这个正排表建立倒排索引,即每个小词对应在哪些行中出现过,以及该行的部分数据。