20240415

귤금·2024년 4월 15일

Node.js 4기 TIL

목록 보기
77/86

엘라스틱 서치

NestJS에 Elasticsearch 모듈 설치

npm install @nestjs/elasticsearch

Elasticsearch 모듈 구성

Elasticsearch 모듈을 AppModule에 등록

// app.module.ts
import { Module } from '@nestjs/common';
import { ElasticsearchModule } from '@nestjs/elasticsearch';

@Module({
  imports: [
    ElasticsearchModule.register({
      node: 'http://localhost:9200', // Elasticsearch 서버 URL
    }),
  ],
  
})
export class AppModule {}

Elasticsearch 기본 사용

Elasticsearch 클라이언트를 서비스에서 주입하여 사용

import { Injectable } from '@nestjs/common';
import { ElasticsearchService } from '@nestjs/elasticsearch';

@Injectable()
export class SomeService {
  constructor(private readonly elasticsearchService: ElasticsearchService) {}

  async indexData() {
    return await this.elasticsearchService.index({
      index: 'some-index',
      body: {
        key: 'value',
      },
    });
  }

  async searchData(query: string) {
    return await this.elasticsearchService.search({
      index: 'some-index',
      body: {
        query: {
          match: { key: query },
        },
      },
    });
  }
}

발표 자료 준비

0개의 댓글