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 |
댓글