springboot 통합elasticsearch 간단한 삭제 검사 실현 (1)
4385 단어 elasticsearch
본고는 증첨 수정만 쓰고, 조회에 관해서는 좀 복잡하므로, 다른 문장에서 상세하게 개술할 것이다
springboot은 좋은 물건이야,
우선 의존을 도입하다
org.springframework.boot
spring-boot-starter-data-elasticsearch
그리고 실체류를 만들어요.
package com.study.elasticsearch;
import java.io.Serializable;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@Document(indexName = "data", type = "table")
//indexName org.elasticsearch.indices.InvalidIndexNameException
//type
public class Domain implements Serializable {
private static final long serialVersionUID = 1L;
@Id // , id string,
private String id; // @Id , Elasticsearch ,
private String title;
private String createTime;
private String text;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
/**
*
* @param id
* @param title
* @param createTime
* @param text
*/
public Domain(String id, String title, String createTime, String text) {
super();
this.id = id;
this.title = title;
this.createTime = createTime;
this.text = text;
}
//
Domain() {
}
}
여기서 실체류의 몇 가지 주해를 말하다
@Document 메모의 몇 가지 속성은 mysql과 유사합니다. indexName – > 인덱스 라이브러리의 이름입니다. 프로젝트의 이름으로 명명하는 것을 권장합니다. 데이터베이스 DB type – > 형식에 해당합니다. 실체의 이름으로 테이블을 명명하는 것을 권장합니다. 데이터베이스에 있는 테이블 문서 – > row는 특정한 대상에 해당합니다.
String indexName();// ,
String type() default "";// ,
short shards() default 5;//
short replicas() default 1;//
String refreshInterval() default "1s";//
String indexStoreType() default "fs";//
@Id 메모
Elasticsearch에서 이 열에 해당하는 것이 바로 메인 키입니다. 검색할 때 바로 메인 키로 조회할 수 있습니다
@Field 메모
public @interface Field {
FieldType type() default FieldType.Auto;#
FieldIndex index() default FieldIndex.analyzed;#
DateFormat format() default DateFormat.none;
String pattern() default "";
boolean store() default false;#
String searchAnalyzer() default "";#
String indexAnalyzer() default "";#
String[] ignoreFields() default {};#
boolean includeInParent() default false;
}
프로파일
#es , es ,
spring.data.elasticsearch.cluster-name=elasticsearch
# Elasticsearch , , , java 9300
spring.data.elasticsearch.cluster-nodes=localhost:9300
#
spring.data.elasticsearch.properties.transport.tcp.connect_timeout=120s
springboot은 ES에 jpa 작업을 봉인했습니다.
package com.study.elasticsearch;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
public interface EsRepository extends ElasticsearchRepository {
}
다음은 스프링의 일관된 태도입니다. jpa 호출
package com.study.elasticsearch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.study.utils.Date;
@RestController
public class EsController {
@Autowired
private EsRepository esRepository;
//
@GetMapping("save")
public Domain save(String txt) {
Domain Info = new Domain(Date.getDateyyyyMMdd(), "testTitle", Date.getDateyyyy_MM_dd(), txt);
Domain save = esRepository.save(Info);
return save;
}
// id
@GetMapping("delete")
public String delete(String id) {
esRepository.deleteById(id);
return "success";
}
// , id
@GetMapping("update")
public Domain update(String id, String txt) {
Domain Info = new Domain(id, "NewTestTitle", Date.getDateyyyy_MM_dd(), txt);
Domain save = esRepository.save(Info);
return save;
}
}
ES 를 시작한 다음 브라우저 get 에 액세스하여 데이터 증가
구글 브라우저 플러그인이 있어요. 좋아요. 한번 해볼게요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.