5 springboot에서 ElasticsearchTemplate를 사용하여 ElasticSearch(네이티브 및 원격 서버) 작업

4924 단어 elasticsearch
3편과 4편은 각각 ElasticSearch의 http 요청 명령과 자바api에 대한 봉인을 소개했다.봉인된 ES 자바api는 일반적인 자바 프로젝트에 사용되어 원래의 명령을 간소화할 수 있습니다.springboot은 N의 다기능을 통합한 프레임워크로서 당연히 우리가 공구류를 봉인할 필요가 없다. 이것은 직접적으로 ElasticsearchTemplate를 제공한다. Redis Template와 같이 봉인된 템플릿이다. 물론 ElasticsearchTemplate가 사용하기 어렵다고 생각하면 자신의 공구류를 사용할 수도 있다.이제 간단한 예로 본기와 원격 서버에서 각각 ElasticsearchTemplate를 사용하여 데이터 조작을 하는 것을 보십시오.

1: 기본 ElasticSearch 사용


application.yml 또는 1절을 사용할 때의 yml 파일
spring:
   data:
        elasticsearch:
            #cluster-name: # elasticsearch
            #cluster-nodes: 112.74.72.18:9300 # es , , , ClientNode
            properties:
                path:
                  logs: ./elasticsearch/log #elasticsearch 
                  data: ./elasticsearch/data #elasticsearch 

cluster-nodes를 보십시오. 여기에 직접 주석을 달고, nodes를 설정하지 않으면, 기본값은 본 컴퓨터입니다!원격 서버나 LAN 서버를 사용하려면 여기서 IP:PORT를 구성해야 합니다.쉼표로 구분된 여러 개를 설정할 수 있으며 집단에 해당한다.cluster-name 다른 이름으로 변경하려면 ElasticSearch를 설치할 때 프로필을 편집하고name을 설정해야 합니다.yml를 설정하면template를 직접 사용할 수 있습니다. 음, 이렇게 간단합니다!우리는 Test 클래스에서 직접 이렇게 쓸 수 있다.
@Autowired ElasticsearchTemplate elasticsearchTemplate;

elasticsearchTemplate를 사용할 수 있습니다.첫 번째 편에서 우리는 이미 두 개의 데이터를 삽입했다. 다음은 바로 조회한다.
@Test
    public void test() {
        SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(queryStringQuery("spring boot OR  ")).build();
        List<Article> articles = elasticsearchTemplate.queryForList(searchQuery, Article.class);
        for (Article article : articles) {
            System.out.println(article.toString());
        }
    }

실행하면 조회 결과를 볼 수 있습니다.template에는 방법이 매우 많고, 각양각색의 조작은 스스로 천천히 연구해야 합니다.왜 Template는 바로 사용할 수 있습니까? 사실은 다음과 같습니다.
import org.elasticsearch.client.Client;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;

/** * Created by wuwf on 17/6/2. */
@Configuration
public class ElasticSearchConfig {

    @Bean
    public ElasticsearchTemplate elasticsearchTemplate(Client client) {
        return new ElasticsearchTemplate(client);
    }

}

클라이언트 매개 변수는 yml에 설정된 정보입니다.springboot는 클라이언트에게 자동으로 부여되고template에 전송됩니다.그러나 위의 코드를 쓰지 않으면 시스템도 자동으로 값을 부여할 수 있다.앞에서 말한 바와 같이template를 사용하지 않고 자신의 Util 도구 클래스를 사용하고 싶다면, 예를 들어ElasticSearchUtil을 사용하면 위의 코드에서 이 클래스로 ElasticTemplate를 대체할 수 있다. 이렇게 하면 곳곳에서 autowired 당신의 유틸리티 도구 클래스를 대체할 수 있다.

2: 원격 서버 사용


아리운 CentOS7의 경우 ElasticSearch를 설치합니다.먼저 jdk8을 설치하고 환경 변수를 설정하면 그건 언급하지 않겠습니다.ElasticSearch를 설치하고 다음 명령을 사용합니다. rpm 패키지 다운로드: wgethttps://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.3.4/elasticsearch-2.3.4.rpmrpm-ivh elasticsearch-2.3.4 설치.rpm 설치 후 시작하지 마십시오. etc/elasticsearch에 들어가서vi로 elasticsearch를 편집합니다.yml.안에 클러스터가 있는 걸 볼 수 있어요.name의 곳, 집단을 만들려면 집단 내의 모든cluster.name은 일치해야 합니다.우리는 네트워크를 찾았다.host 줄, 주석을 놓고 뒤에 있는 IP를 0.0.0.0으로 바꾼 다음 http.포트 줄의 주석도 놓으면 됩니다.외부 네트워크에서 이 서버의 공공 네트워크 IP에 접근할 수 있도록 하는 ElasticSearch 서비스입니다.서비스 서비스elasticsearchstart를 시작하면 자신의 컴퓨터에서 브라우저로 서버 ip:9200에 접근하면 환영어 json의 출력을 볼 수 있습니다.
원격 서버를 설정한 후springboot에서도yml 파일을 수정하고cluster-nodes의 주석을 놓고 서버의 IP와 포트를 기입하면 됩니다.프로젝트에서 원격 서버의 Elastic Search 서비스를 사용할 수 있습니다.설치 참조:http://www.jianshu.com/p/527a474bb6eb https://www.biaodianfu.com/centos-7-install-elasticsearch.html

3: 헤드 플러그인 설치, Elasticsearch 관리


이것이 바로 Head 플러그인으로 그 안에서 각 노드, index 데이터 등을 볼 수 있으며 데이터베이스 관리 페이지에 해당한다.설치 방법:/usr/share/elasticsearch/bin/plugin installmobz/elasticsearch-head 주의 경로와 yml를 설정하는 경로는 다르고yml는 etc/elasticsearch에 있습니다.설치 후 ip:9200/_ 액세스plugin/head/위의 인터페이스를 볼 수 있습니다.
ElasticsearchTemplate의 더 많은 사용 방법, 복잡한 조회, 조건 조회에 관해서 나는 천천히 모색하고 나중에 총결해야 한다.

좋은 웹페이지 즐겨찾기