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ǔ)起來,方便業(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ù)庫那樣進(jìn)行增刪改查的操作。
1.3 配置數(shù)據(jù)庫
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類的請求體:
{
"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ù)庫,無需手動(dòng)創(chuàng)建表結(jié)構(gòu),即可看到User類也已經(jīng)寫入到數(shù)據(jù)庫中:
因此可以刻直接從數(shù)據(jù)庫讀取。
學(xué)習(xí)更多編程知識(shí),請關(guān)注我的公眾號(hào):
-
ES
+關(guān)注
關(guān)注
0文章
11瀏覽量
20008 -
JAVA
+關(guān)注
關(guān)注
19文章
2942瀏覽量
104081 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3707瀏覽量
64020 -
SpringBoot
+關(guān)注
關(guān)注
0文章
172瀏覽量
145
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論