温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

springBoot中elasticsearch如何使用

发布时间:2021-06-18 18:19:45 来源:亿速云 阅读:274 作者:Leah 栏目:大数据

今天就跟大家聊聊有关springBoot中elasticsearch如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1 安装elasticsearch

springBoot中elasticsearch如何使用

2 运行elasticsearch

docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms216m -Xmx216m" --name ES01 elasticsearch:2.4.0

springBoot中elasticsearch如何使用

3 测试安装结果 springBoot中elasticsearch如何使用

4 新建一个springbootweb项目 pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	 
<modelVersion>4.0.0</modelVersion>

<parent>

    <groupId>org.springframework.boot</groupId>
	
    <artifactId>spring-boot-starter-parent</artifactId>
	
    <version>1.5.21.RELEASE</version>
	
    <relativePath/> <!-- lookup parent from repository -->
	
</parent>

<groupId>com.elastic</groupId>

<artifactId>spring-elasticsearch</artifactId>

<version>0.0.1-SNAPSHOT</version>

<name>spring-elasticsearch</name>

<description>Demo project for Spring Boot</description>

<properties>

    <java.version>1.8</java.version>
	
</properties>

<dependencies>

    <!--SpringBoot默认使用SpringData ElasticSearch模块进行操作-->
	
    <dependency>
	
        <groupId>org.springframework.boot</groupId>
		
        <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
		
    </dependency>
	
    <dependency>
	
        <groupId>io.searchbox</groupId>
		
        <artifactId>jest</artifactId>
		
    </dependency>
	
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

</project>

application.properties文件

spring.elasticsearch.jest.uris=http://192.168.1.139:9200

spring.data.elasticsearch.cluster-name=elasticsearch

spring.data.elasticsearch.cluster-nodes=192.168.1.139:9300

spring.data.elasticsearch.repositories.enabled=true

5 测试jest

1 新建一个实体类

public class Article {

@JestId

private Integer id;

private String author;

private String title;

private String content;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getAuthor() {
    return author;
}

public void setAuthor(String author) {
    this.author = author;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}

}

public class SpringElasticsearchApplicationTests {

@Autowire JestClient jestClient;

[@Test](https://my.oschina.net/azibug)

public void contextLoads() throws IOException {

    Article article = new Article();
	
    article.setId(1);
	
    article.setTitle("jest ElasticSearch");
	
    article.setAuthor("mao");
	
    article.setContent("hello this is jestElasticSearch test");
	
    //构建一个索引功能
	
    Index index = new Index.Builder(article).index("mao").type("news").build();
	
    jestClient.execute(index);
}

[@Test](https://my.oschina.net/azibug)

public  void   search() throws IOException {

    String index ="{\n" +
            "    \"query\" : {\n" +
            "        \"match\" : {\n" +
            "            \"content\" : \"hello\"\n" +
            "        }\n" +
            "    }\n" +
            "}";
    //构建搜索功能
	
  Search search =  new Search.Builder(index).addIndex("mao").addType("news").build();
  
  SearchResult result=jestClient.execute(search);
  
    System.out.println(result.getJsonString());
	
}

}

2 测试 使用 ElasticsearchRepository

新建一个Book实体

//指明索引和类型

@Document(indexName = "mao",type = "book")

public class Book {

private Integer id;
private String name;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public String toString() {
    return "Book{" +
            "id=" + id +
            ", name='" + name + '\'' +
            '}';
}

}

BookReposity。java

public interface BookReposity extends ElasticsearchRepository<Book,Integer> {

public List<Book> findByNameLike(String name) ;

}

@Autowired BookReposity bookReposity; @Test

 @Test
public void test2(){
    Book book = new Book();
    book.setId(1);
    book.setName("少年的奇特");
    bookReposity.index(book);

}

public void test1(){

// Book book = new Book(); // book.setId(1); // book.setName("少年的奇特"); // bookReposity.index(book); for(Book book:bookReposity.findByNameLike("少")){ System.out.println(book.toString()); } }

测试结果

springBoot中elasticsearch如何使用

看完上述内容,你们对springBoot中elasticsearch如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI