springboot 통합 ElasticSearch의 API 사용 및 자체 요약
2252 단어 ES 질의
일단 두 명의 블로거를 추천해드리는 게 좋을 것 같아요.
ElasticSearch의 구조 분석: https://blog.csdn.net/tianyaleixiaowu/article/details/76149547
ElasticSearch 간단한 소개 및 jpa 분석: https://blog.csdn.net/KingBoyWorld/article/details/78654820
ElasticSearch 공식 중국어 문서: https://es.xiaoleilu.com/010_Intro/05_What_is_it.html
스스로 총결산을 보다
Springboot 통합elasticsearch의 JPA 사용
DAO층은 ElasticsearchRepository를 계승하고 다른springdata의 저장소와 마찬가지로find/save/del/insert가 있습니다. 그 중에서spring-data-elasticsearch는 특수한 검색 방법을 가지고 ES 조회를 구축하는 데 사용됩니다.
search () 는 QueryBuilder 객체 페이지 객체 보내기 SearchQuery 객체, Iterator로 돌아가기
fore () 로 값을 순환할 수 있습니다
교체기 획득도 가능합니다.
Iterator iterator = searchResult.iterator();
List list=new ArrayList();
while (iterator.hasNext()) {
list.add(iterator.next());
}
SearchQuery는 여러 조건 (Query Builder 대상) 을 조합하여 새로운 Native SearchQuery 구현 클래스를 통해 구현할 수 있는 인터페이스입니다.
NativeSearchQuery를 구축하려면 주로 몇 개의 구조 매개 변수가 필요합니다.
public NativeSearchQuery(QueryBuilder query, QueryBuilder filter, List sorts, Field[] highlightFields) {
this.query = query;
this.filter = filter;
this.sorts = sorts;
this.highlightFields = highlightFields;
}
보아하니 필요한QueryBuilder 구조기, 필터, 정렬된SortBuilder 구조기, 그리고 밝은 필드가 필요할 것 같습니다.
일반적으로 우리는 새로운 Native SearchQuery가 아니라 Native SearchQuery Builder를 사용합니다.
.NativeSearchQueryBuilder를 통해withQuery(QueryBuilder1).withFilter(QueryBuilder2).withSort(SortBuilder1).withXXXX () 설정 (),이러한 방식으로 NativeSearchQuery 구축을 완료합니다.
QueryBuilder의 질의 객체
QueryBuilders는 추상적인 클래스입니다. QueryBuilders.xxx는 XX의 QueryBuilder 객체를 얻을 수 있습니다. 다음은 XX
matchAllQuery 조회 모든 문서queryStringQuery 현재 매개 변수를 단어로 나누고 단어의 결과를 순서대로 조회합니다. 조회 결과termQuery 단어 조회 (완전 일치)wildcardQuery 어댑터의 단어 조회boolQuery 조합 다른 조회 조건fuzzyQuery 유사도 조회
SortBuilder 정렬 구조기
SortBuilders는 추상적인 클래스입니다. SortBuilders.xxx는 XX의 SortBuilder 객체를 얻을 수 있습니다. 다음은 XX
자주 쓰지 않다
API 사용 정보
스프링 데이터elasticSearch의 JPI 내부는 사실QueryBuilder의 대상으로 이루어진 조회입니다. 스프링 데이터는 조합 조회로 복잡한 데이터를 조회할 수 있고QueryBuiler는boolQuery 조합 조건을 통해 복잡한 데이터를 조회할 수 있습니다.
이해가 틀린 희망이 있으면 각 방면의 신들이 바로잡아 주기를 바란다.공동 학습!