Skip to content

Commit d76496d

Browse files
committed
elastic
1 parent a32b7f4 commit d76496d

19 files changed

+704
-94
lines changed

Diff for: SpringBoot高级教程.md

+75-94
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
typora-root-url: ./
2+
33
---
44

55
# SpringBoot的高级教程
@@ -1236,29 +1236,25 @@ docker pull registry.docker-cn.com/library/elasticsearch
12361236

12371237
4、运行ElasticSearch
12381238

1239-
> -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 表示占用的最大内存为256m,默认是2G
1239+
> -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 表示占用的最大内存为256m默认是2G
12401240

12411241
```shell
1242-
[root@node1 ~]# docker images
1243-
REPOSITORY TAG IMAGE ID CREATED SIZE
1244-
registry.docker-cn.com/library/elasticsearch latest 671bb2d7da44 32 hours ago 486 MB
1245-
[root@node1 ~]#
1246-
[root@node1 ~]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 671bb2d7da44
1242+
[root@node1 ~]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b
12471243
```
12481244

12491245
5、测试是否启动成功
12501246

1251-
访问9200端口:http://192.168.179.131:9200/ 查看是否返回json数据
1247+
访问9200端口:http://10.138.223.126:9200/ 查看是否返回json数据
12521248

12531249
```json
12541250
{
1255-
"name" : "onB-EUU",
1251+
"name" : "DNF7ndJ",
12561252
"cluster_name" : "elasticsearch",
1257-
"cluster_uuid" : "j3SXX6tdThWUomW3tAvDFg",
1253+
"cluster_uuid" : "t-JMNI1LRgGf62ctJqiGYQ",
12581254
"version" : {
1259-
"number" : "5.6.9",
1260-
"build_hash" : "877a590",
1261-
"build_date" : "2018-04-12T16:25:14.838Z",
1255+
"number" : "5.6.12",
1256+
"build_hash" : "cfe3d9f",
1257+
"build_date" : "2018-09-10T20:12:43.732Z",
12621258
"build_snapshot" : false,
12631259
"lucene_version" : "6.6.1"
12641260
},
@@ -1268,7 +1264,7 @@ registry.docker-cn.com/library/elasticsearch latest 671bb2d7da44
12681264

12691265
### 3Elastic的快速入门
12701266

1271-
> 最好的工具就是[官方文档](https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html),以下操作都在文档中进行操作。
1267+
> 最好的工具就是[官方文档](https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html),以下操作都在文档中进行操作。
12721268

12731269
#### 1、基础概念
12741270

@@ -1288,6 +1284,10 @@ registry.docker-cn.com/library/elasticsearch latest 671bb2d7da44
12881284

12891285
**属性**:相当于数据库中的列,即文档的属性
12901286

1287+
**结构图**
1288+
1289+
![1538037936258](/images2/1538037936258.png)
1290+
12911291
#### 2、测试
12921292

12931293
下载[POSTMAN](https://www.getpostman.com/apps),并使用POSTMAN测试
@@ -1309,7 +1309,7 @@ PUT /megacorp/employee/1
13091309
}
13101310
```
13111311

1312-
![01.postman](/images2/01.postman.jpg)
1312+
![01.postman](/images2/1538038492112.png)
13131313

13141314
##### 2、检索文档
13151315

@@ -1321,7 +1321,7 @@ PUT /megacorp/employee/1
13211321
GET /megacorp/employee/1
13221322
```
13231323

1324-
![02.postmanget](/images2/02.postmanget.jpg)
1324+
![02.postmanget](/images2/1538038658381.png)
13251325

13261326
##### 3、轻量检索
13271327

@@ -1720,18 +1720,15 @@ GET /megacorp/employee/_search
17201720
1、注释SpringDataElasticSearch的依赖,并导入Jest【5.xx】的相关依赖
17211721

17221722
```xml
1723-
<!-- SpringData管理ElasticSearch -->
1724-
<!-- <dependency>
1725-
<groupId>org.springframework.boot</groupId>
1726-
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
1727-
</dependency>-->
1728-
1729-
<!-- https://mvnrepository.com/artifact/io.searchbox/jest -->
1730-
<dependency>
1731-
<groupId>io.searchbox</groupId>
1732-
<artifactId>jest</artifactId>
1733-
<version>5.3.3</version>
1734-
</dependency>
1723+
<!--<dependency>-->
1724+
<!--<groupId>org.springframework.boot</groupId>-->
1725+
<!--<artifactId>spring-boot-starter-data-elasticsearch</artifactId>-->
1726+
<!--</dependency>-->
1727+
<dependency>
1728+
<groupId>io.searchbox</groupId>
1729+
<artifactId>jest</artifactId>
1730+
<version>5.3.3</version>
1731+
</dependency>
17351732
```
17361733

17371734
2、修改配置文件application.yml
@@ -1740,7 +1737,7 @@ GET /megacorp/employee/_search
17401737
spring:
17411738
elasticsearch:
17421739
jest:
1743-
uris: http://192.168.179.131:9200
1740+
uris: http://10.138.223.126:9200
17441741
```
17451742

17461743
3、创建 bean.Article
@@ -1799,54 +1796,51 @@ public class Article {
17991796
> 向wdjr-article中插入数据
18001797

18011798
```java
1802-
@Autowired
1803-
JestClient jestClient;
1804-
18051799
@Test
18061800
public void contextLoads() {
1807-
//1、给Es中索引(保存)一个文档
1801+
// 给Es中索引(保存)一个文档
18081802
Article article = new Article();
1809-
article.setId(2);
1810-
article.setTitle("好消息");
1811-
article.setAutor("zhangsan");
1803+
article.setId(1);
1804+
article.setTitle("Effect Java");
1805+
article.setAutor("Joshua Bloch");
18121806
article.setContent("Hello World");
1813-
//构建一个索引功能
1814-
Index index = new Index.Builder(article).index("wdjr").type("article").build();
1807+
// 构建一个索引功能
1808+
Index index = new Index.Builder(article).index("cuzz").type("article").build();
18151809

18161810
try {
18171811
//执行
18181812
jestClient.execute(index);
18191813
} catch (IOException e) {
18201814
e.printStackTrace();
18211815
}
1822-
18231816
}
18241817
```
18251818

1819+
![1538043139689](/images2/1538043139689.png)
1820+
18261821
> 查询数据
18271822

18281823
```java
18291824
@Test
18301825
public void search(){
1831-
//查询表达式
1826+
// 查询表达式
18321827
String json = "{\n" +
1833-
" \"query\" : {\n" +
1834-
" \"match\" : {\n" +
1835-
" \"content\" : \"Hello\"\n" +
1836-
" }\n" +
1837-
" }\n" +
1838-
"}";
1839-
//构建搜索操作
1840-
Search search = new Search.Builder(json).addIndex("wdjr").addType("article").build();
1841-
1842-
//执行
1828+
" \"query\" : {\n" +
1829+
" \"match\" : {\n" +
1830+
" \"content\" : \"Hello\"\n" +
1831+
" }\n" +
1832+
" }\n" +
1833+
"}";
1834+
// 构建搜索操作
1835+
Search search = new Search.Builder(json).addIndex("cuzz").addType("article").build();
1836+
1837+
// 执行
18431838
try {
18441839
SearchResult result = jestClient.execute(search);
18451840
System.out.println(result.getJsonString());
18461841
} catch (IOException e) {
18471842
e.printStackTrace();
18481843
}
1849-
18501844
}
18511845
```
18521846

@@ -1870,7 +1864,7 @@ public void search(){
18701864

18711865
```shell
18721866
docker pull elasticsearch:2.4.6
1873-
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9200 -p 9301:9300 --name ES02 elasticsearch:2.4.6
1867+
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9200 -p 9301:9300 --name ES02 id
18741868
```
18751869

18761870
3、编写配置文件
@@ -1880,10 +1874,19 @@ spring:
18801874
data:
18811875
elasticsearch:
18821876
cluster-name: elasticsearch
1883-
cluster-nodes: 192.168.179.131:9301
1877+
cluster-nodes: 10.138.223.126:9301
1878+
```
1879+
1880+
4、修改pom文件,把使用data-elasticsearch,把刚才注释删除
1881+
1882+
```xml
1883+
<dependency>
1884+
<groupId>org.springframework.boot</groupId>
1885+
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
1886+
</dependency>
18841887
```
18851888

1886-
4、运行主程序
1889+
18871890

18881891
5、操作ElasticSearch有两种方式
18891892

@@ -1893,12 +1896,17 @@ spring:
18931896

18941897
6ElasticsearchRepositry的操作
18951898

1896-
1)、新建一个bean/Book
1899+
1)、新建一个bean/Book**注意:**@Document(indexName = "cuzz", type="book")
18971900

18981901
```java
1899-
@Document(indexName = "wdjr",type="book")
1902+
/**
1903+
* @Author: cuzz
1904+
* @Date: 2018/9/27 18:32
1905+
* @Description:
1906+
*/
1907+
@Document(indexName = "cuzz",type="book")
1908+
@Data
19001909
public class Book {
1901-
19021910
private Integer id;
19031911
private String bookName;
19041912
private String auto;
@@ -1914,47 +1922,21 @@ public class Book {
19141922
this.bookName = bookName;
19151923
this.auto = auto;
19161924
}
1917-
1918-
public Integer getId() {
1919-
return id;
1920-
}
1921-
1922-
public void setId(Integer id) {
1923-
this.id = id;
1924-
}
1925-
1926-
public String getBookName() {
1927-
return bookName;
1928-
}
1929-
1930-
public void setBookName(String bookName) {
1931-
this.bookName = bookName;
1932-
}
1933-
1934-
public String getAuto() {
1935-
return auto;
1936-
}
1937-
1938-
public void setAuto(String auto) {
1939-
this.auto = auto;
1940-
}
1941-
1942-
@Override
1943-
public String toString() {
1944-
return "Book{" +
1945-
"id=" + id +
1946-
", bookName='" + bookName + '\'' +
1947-
", auto='" + auto + '\'' +
1948-
'}';
1949-
}
19501925
}
19511926
```
19521927

19531928
2)、新建一个repositry/BookRepositry
19541929

1930+
方法编写参考[官方文档](https://docs.spring.io/spring-data/elasticsearch/docs/3.1.0.RELEASE/reference/html/#elasticsearch.repositories)
1931+
19551932
```java
1956-
public interface BookRepositry extends ElasticsearchRepository<Book,Integer> {
1957-
//自定义查询方法
1933+
/**
1934+
* @Author: cuzz
1935+
* @Date: 2018/9/27 18:33
1936+
* @Description:
1937+
*/
1938+
public interface BookRepository extends ElasticsearchRepository<Book, Integer> {
1939+
//自定义查询方法
19581940
public List<Book> findByBookNameLike(String bookName);
19591941
}
19601942
```
@@ -1966,10 +1948,9 @@ public interface BookRepositry extends ElasticsearchRepository<Book,Integer> {
19661948
BookRepositry bookRepositry;
19671949
@Test
19681950
public void testSearch(){
1969-
for (Book book : bookRepositry.findByBookNameLike("")) {
1951+
for (Book book : bookRepositry.findByBookNameLike("Effect")) {
19701952
System.out.println(book);
19711953
}
1972-
19731954
}
19741955
```
19751956

Diff for: images2/1538037936258.png

68.5 KB
Loading

Diff for: images2/1538038492112.png

40.9 KB
Loading

Diff for: images2/1538038561249.png

30.6 KB
Loading

Diff for: images2/1538038658381.png

30.7 KB
Loading

Diff for: images2/1538043139689.png

24.6 KB
Loading

Diff for: springboot-11-elastic/.gitignore

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
4+
### STS ###
5+
.apt_generated
6+
.classpath
7+
.factorypath
8+
.project
9+
.settings
10+
.springBeans
11+
.sts4-cache
12+
13+
### IntelliJ IDEA ###
14+
.idea
15+
*.iws
16+
*.iml
17+
*.ipr
18+
19+
### NetBeans ###
20+
/nbproject/private/
21+
/build/
22+
/nbbuild/
23+
/dist/
24+
/nbdist/
25+
/.nb-gradle/

Diff for: springboot-11-elastic/.mvn/wrapper/maven-wrapper.jar

46.5 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip

0 commit comments

Comments
 (0)