全文檢索工具elasticsearch5.6.4教程之IDEA+Maven實現Java程序案例

elasticsearchJava客戶端目前有兩類
  (1)TransportClient爲ES原生的客戶端,不能執行原生的DSL語句必須使用它的Java Api方法;
  (2)以Rest Apimissing client,最典型的是jest。這種客戶端可直接使用DSL語句拼接指定字符串,直接傳送給服務端,返回給json字符串再解析。

  elasticsearch官網宣佈計劃在7.0以後的版本中廢除TransportClient,以RestClient爲主!

一、Jest依賴包

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
		</dependency>

		<!-- https://mvnrepository.com/artifact/io.searchbox/jest -->
		<dependency>
			<groupId>io.searchbox</groupId>
			<artifactId>jest</artifactId>
			<version>5.3.3</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
		<dependency>
			<groupId>net.java.dev.jna</groupId>
			<artifactId>jna</artifactId>
			<version>4.5.1</version>
		</dependency>

二、配置application.properties

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

三、測試代碼

import io.searchbox.client.JestClient;
import io.searchbox.core.Search;
import io.searchbox.core.SearchResult;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
@RunWith(SpringRunner.class)
@SpringBootTest
public class GmallServiceApplicationTests {
	@Autowired
	JestClient jestClient;
	@Test
	public void testEs() throws IOException {
		String query="{\n" +
				"  \"query\": {\n" +
				"    \"match\": {\n" +
				"      \"actorList.name\": \"張譯\"\n" +
				"    }\n" +
				"  }\n" +
				"}";
		Search search = new Search.Builder(query).addIndex("movie_chn").addType("movie_type_chn").build();
		SearchResult result = jestClient.execute(search);
		List<SearchResult.Hit<HashMap, Void>> hits = result.getHits(HashMap.class);
		for (SearchResult.Hit<HashMap, Void> hit : hits) {
			HashMap source = hit.source;
			System.err.println("source = " + source);

		}

	}
}

控制檯打印(成功)

在這裏插入圖片描述
kibana控制檯測試

在這裏插入圖片描述

 ☝上述分享來源個人總結,如果分享對您有幫忙,希望您積極轉載;如果您有不同的見解,希望您積極留言,讓我們一起探討,您的鼓勵將是我前進道路上一份助力,非常感謝!我會不定時更新相關技術動態,同時我也會不斷完善自己,提升技術,希望與君同成長同進步!

☞本人博客:https://coding0110lin.blog.csdn.net/  歡迎轉載,一起技術交流吧!

發佈了163 篇原創文章 · 獲贊 40 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章