SpringBoot 통합 검색 프레임워크 ElasticSearch
7129 단어 학습 노트 정리
사용자 정의 디렉터리 제목
검색 엔진 지식과 검색 프레임워크elasticsearch 기본 소개
소개
선언: ES의 주요 특징과 사용 장면을 소개하고 새로운 특성 설명 mysql:like 모호, 성능 문제,solr: ,Lucene
elasticsearch: ,PB,TB
java ,springboot ,5.6
es 4->5 , , 5 ,
elasticSearch 주요 특징
1. 특징: 전문 검색, 구조화 검색, 데이터 통계, 분석, 실시간 처리에 가깝고 분포식 검색(수백 대의 서버를 배치할 수 있음), PB 수준의 데이터 검색 오류 수정, 자동 완성 2, 사용 장면: 로그 검색, 데이터 집합, 데이터 모니터링, 보고서 통계 분석 3, 국내외 사용자: 위키백과, Stack Overflow, GitHub
새로운 특성 설명
1、6.2.x 버전 Lucene 7 기반x, 더 빠르고 성능 향상, 대응하는 서열화 구성 요소, 잭슨 2.8 mysql:database table rocordes: index type (하나만 존재)document로 업그레이드
2. 5.0 버전에서 출시된 Java REST/HTTP 클라이언트를 사용하는 것을 추천합니다. 의존도가 적고 Transport보다 사용이 편리합니다. 기준 테스트에서 성능은 Transport 클라이언트에 뒤지지 않습니다. 5.0~6.0 버전에서 매번 대응하는 API 업데이트가 있을 때마다 문서에서도 이러한 방식으로 개발하여 사용하는 것을 추천합니다. 모든 사용 가능한 노드 간의 부하 균형은 노드 고장과 특정 응답 코드의 상황에서 고장 이전을 합니다.실패한 연결 벌칙 (실패한 노드의 재시도 여부는 실패의 연속 횟수에 달려 있으며, 실패의 횟수가 많을수록 클라이언트가 같은 노드를 다시 시도하기 전에 기다리는 시간이 길어진다)
3. (중요) 색인 라이브러리에 여러 type이 더 이상 지원되지 않습니다. 6.x 버전은 하나의 index에 여러 개의 type이 금지되어 있기 때문에 하나의 index 인덱스 라이브러리에 하나의 type만 존재할 수 있습니다 :
1、6.0
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0.html#breaking-java-6.0.0
2、6.1
https://www.elastic.co/guide/en/elasticsearch/reference/6.1/release-notes-6.1.0.html
ElastcSearch5.6 배포 완료x
소개: 왜 ES6를 사용하지 않는지 설명합니다.x 버전 및 로컬 빠른 설치 ElasticSeach 및 장면 문제 처리 JDK1.8:
install JDK: yum install java-1.8.0-openjdk* -y
wget elasticsearch :
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
tar -zxvf elasticsearch-5.6.8.tar.gz
:https://www.elastic.co/products/elasticsearch
:
config elasticsearch.yml
network.host: 0.0.0.0
:
./bin/elasticsearch
일반적인 구성 질문 자료:https://www.jianshu.com/p/c5d6ec0f35e0
ElasticSearch 5.6.8 테스트 데이터 준비
소개: ElasticSearch5.6.x 단순 테스트 1, 단계https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index.html2. POSTMAN 도구기반 사용: 클러스터 상태 보기: localhost: 9200/_cat/health?v 색인 목록 보기:localhost:9200/_cat/indices?v
SpringBoot2.x 통합 elasticsearch5.6.x
소개: SpringBoot2.x 통합 elasticSearch5.6.8 실전
1), Spring Data Elasticsearch 문서 주소:https://docs.spring.io/spring-data/elasticsearch/docs/3.0.6.RELEASE/reference/html/
2), 버전 설명: SpringBoot 통합 elasticsearch:https://github.com/spring-projects/spring-data-elasticsearch/wiki/Spring-Data-Elasticsearch—Spring-Boot—version-matrix
3), 통합:// An highlighted block
//1、 maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
//2、 ElasticSearchRepository,
:
,
article
@Document(indexName = "blog", type = "article")
//3、 :
# ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.cluster-name=elasticsearch # Elasticsearch cluster name.
spring.data.elasticsearch.cluster-nodes=localhost:9300 # Comma-separated list of cluster node addresses.
spring.data.elasticsearch.repositories.enabled=true # Whether to enable Elasticsearch repositories.
//4、QueryBuilder
https://www.elastic.co/guide/en/elasticsearch/client/java-api/1.3/query-dsl-queries.html
// , name jack
QueryBuilder queryBuilder = QueryBuilders.matchQuery("title", " ");
es 데이터 보기
색인 정보 보기:http://localhost:9200/_cat/indices?v색인 라이브러리 구조를 보려면 다음과 같이 하십시오.http://localhost:9200/blog객체를 보려면 다음과 같이 하십시오.http://localhost:9200/blog/article/1
solr: ,Lucene
elasticsearch: ,PB,TB
java ,springboot ,5.6
es 4->5 , , 5 ,
:
1、6.0
https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0.html#breaking-java-6.0.0
2、6.1
https://www.elastic.co/guide/en/elasticsearch/reference/6.1/release-notes-6.1.0.html
JDK1.8:
install JDK: yum install java-1.8.0-openjdk* -y
wget elasticsearch :
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
tar -zxvf elasticsearch-5.6.8.tar.gz
:https://www.elastic.co/products/elasticsearch
:
config elasticsearch.yml
network.host: 0.0.0.0
:
./bin/elasticsearch
// An highlighted block
//1、 maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
//2、 ElasticSearchRepository,
:
,
article
@Document(indexName = "blog", type = "article")
//3、 :
# ELASTICSEARCH (ElasticsearchProperties)
spring.data.elasticsearch.cluster-name=elasticsearch # Elasticsearch cluster name.
spring.data.elasticsearch.cluster-nodes=localhost:9300 # Comma-separated list of cluster node addresses.
spring.data.elasticsearch.repositories.enabled=true # Whether to enable Elasticsearch repositories.
//4、QueryBuilder
https://www.elastic.co/guide/en/elasticsearch/client/java-api/1.3/query-dsl-queries.html
// , name jack
QueryBuilder queryBuilder = QueryBuilders.matchQuery("title", " ");