ElasticSearch是個(gè)開源分布式搜索引擎,提供搜集、分析、存儲(chǔ)數(shù)據(jù)三大功能。它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。主要負(fù)責(zé)將日志索引并存儲(chǔ)起來(lái),方便業(yè)務(wù)方檢索查詢。
ElasticSearch安裝方式參考:
1 Spring項(xiàng)目
項(xiàng)目GitHub地址:https://github.com/Snowstorm0/learn-es
項(xiàng)目Gitee地址:https://gitee.com/Snowstorm0/learn-es
1.1 配置ES客戶端
public class RestClientConfig extends AbstractElasticsearchConfiguration {
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
1.2 創(chuàng)建User類
public class UserEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String name;
private String job;
private Double deposit;
private Date processTime = new Date();
}
配置完成后,ElasticSearch即可像常規(guī)的數(shù)據(jù)庫(kù)那樣進(jìn)行增刪改查的操作。
1.3 配置數(shù)據(jù)庫(kù)
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/sys?characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
2 運(yùn)行項(xiàng)目
2.1 添加
調(diào)用添加接口:http://localhost:8080/user/add
添加User類的請(qǐng)求體:
{
"id":"1",
"name":"代碼的路",
"job":"碼農(nóng)",
"deposit":100.0
}
可以看到添加成功:
2.2 讀取
運(yùn)行讀取接口:http://localhost:8080/user/search/whole?key=碼農(nóng)
可以獲得剛寫入的User類,是完整結(jié)構(gòu):
運(yùn)行讀取接口:http://localhost:8080/user/search/es?key=碼農(nóng)
可以獲得剛寫入的User類,只有User結(jié)構(gòu):
打開數(shù)據(jù)庫(kù),無(wú)需手動(dòng)創(chuàng)建表結(jié)構(gòu),即可看到User類也已經(jīng)寫入到數(shù)據(jù)庫(kù)中:
因此可以刻直接從數(shù)據(jù)庫(kù)讀取。
學(xué)習(xí)更多編程知識(shí),請(qǐng)關(guān)注我的公眾號(hào):
-
ES
+關(guān)注
關(guān)注
0文章
11瀏覽量
20040 -
JAVA
+關(guān)注
關(guān)注
19文章
2966瀏覽量
104702 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3794瀏覽量
64360 -
SpringBoot
+關(guān)注
關(guān)注
0文章
173瀏覽量
177
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論