使用 Java API 操作 elasticsearch

罐裝麵包發表於2020-10-20

maven 依賴


<dependencies>
	<!-- https://mvnrepository.com/artifact/junit/junit -->
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.12</version>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>org.elasticsearch</groupId>
		<artifactId>elasticsearch</artifactId>
		<version>5.2.2</version>
	</dependency>

	<dependency>
		<groupId>org.elasticsearch.client</groupId>
		<artifactId>transport</artifactId>
		<version>5.2.2</version>
	</dependency>

	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>2.9.0</version>
	</dependency>
</dependencies>

 

程式碼示例


獲取 client

@Before
public void getClient() throws UnknownHostException {
	Settings settings = Settings.builder().put("cluster.name", "my-application").build();
	client = new PreBuiltTransportClient(settings);
	client.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("112.124.1.100", 9300)));
}

 

 

建立 Index

@Test
public void createIndex() {
//  建立一個名稱為 blog 的索引
	CreateIndexResponse response = client.admin().indices().prepareCreate("blog").execute().actionGet();
}

 

刪除 Index

@Test
public void deleteIndex() {
//	刪除名為 blog 的 Index
	DeleteIndexResponse response = client.admin().indices().prepareDelete("blog").execute().actionGet();
}

 

建立 Document

@Test
public void createDocument() {
	String source = "{\"content\": \"我是內容!\"}";
	IndexResponse response = client.prepareIndex("blog", "article", "1").setSource(source).execute().actionGet();
}
@Test
public void createDocument() throws IOException {
	XContentBuilder builder = XContentFactory.jsonBuilder().startObject().field("name", "姜春波").endObject();
	IndexResponse response = client.prepareIndex("blog", "article", "2").setSource(builder).execute().actionGet();
}

 

搜尋 Document

@Test
public void get() {
	GetResponse response = client.prepareGet("blog", "article", "2").execute().actionGet();
	System.out.println(response.getSourceAsString());
}

 

相關文章