-
Docker에서 ElasticSearch로 Full-Text 검색하기(2)SERVER DEVELOPMENT/Docker 2023. 3. 5. 17:12
Docker에서 ElasticSearch로 Full-Text 검색하기(1)
지난 시간에 이어서, 이번에는 elasticsearch를 직접 사용해서 Full-Text 검색을 수행 해보도록 하겠습니다.
npm i elasticsearch 또는 yarn add elasticsearch
현재 Docker 컨테이너로 띄워져 있는 ealsticsearch에 연결 해봅시다.
const { Client } = require("elasticsearch"); const client = new Client({ host: "http://localhost:9200", log: "trace", });
위와 같이 작성하면 elasticsearch의 새 인스턴스가 생성되고 호스트와 포트가 지정됩니다.
디버깅에 도움이 되도록 로그 수준을 trace로 지정 했습니다.
다음으로, 데이터를 인덱싱하고 Full-text 검색한 결과를 로그로 나타내볼 수 있는 함수를 생성합니다.
const indexingData = async function (index, body) { const { body: response } = await client.index({ index: index, body: body, }); return response; }; indexingData("indexing", { title: "Full-text 검색", content: "elk 검색 결과에 대해서..", }) .then((response) => console.log(response)) .catch((error) => console.error(error));
다음으로, 검색 쿼리를 생성 해봅니다.
const searchQuery = async function (query) { const { body } = await client.search({ index: "indexing", body: { query: { match: { content: query, }, }, }, }); return body.hits.hits; }; searchQuery("Searching with query") .then((results) => console.log(results)) .catch((error) => console.error(error));
이렇게 하면, Searching with query를 포함하는 Full-Text 검색을 수행 합니다.
다음 장에서는 elasticsearch의 검색 결과를 향상 시키는 작업을 해볼 예정입니다 : )
'SERVER DEVELOPMENT > Docker' 카테고리의 다른 글
Docker에서 ElasticSearch로 Full-Text 검색하기(4) (2) 2023.03.05 Docker에서 ElasticSearch로 Full-Text 검색하기(3) (0) 2023.03.05 Docker에서 ElasticSearch로 Full-Text 검색하기(1) (0) 2023.03.05