Elasticsearch

Elasticsearch 7.3 활용해보기 #7 – index의 갱신

현재 만들고 있는 서비스에서는 MariaDB와 연동하여 검색데이터를 색인하고 있습니다. MariaDB에서 변경되는점을 바로 Elasticsearch에서 갱신할 수 없기 때문에 일정시간마다 동기화(?) 해주는 방식으로 운영하고 있습니다. 물론 -_-.. 할수는 있지만… 성능적으로 볼때 잦은 update는 자료 자체가 수정되는게 아닌 키를 변경하고 새로운 데이터가 추가되는 작업으로서 검색성능을 떨어뜨릴 수 있기 때문에 최적의 indx 상태를 유지하기 위해서 새로 생성하는게 좋다고 하더군요… […]

Elasticsearch

Elasticsearch 7.3 활용해보기 #6 – _msearch 여러쿼리를 한번에

계획 없이 포스팅 하기 시작해서 언제까지 elasticsearch에 대해서 적을지에 대한 계획은 없습니다. 기존에 _search api를 통해서 검색을 해보았는데, 실무에 활용하다보니 갈수록 쿼리가 많아지게 되어서 찾아보니… 여러개의 쿼리를 한번에 보낼 수 있는 방법이 있었습니다. 쿼리가 호출되는 단위를 묶어주니 그만큼의 네크워크 지연시간이 줄어들 수 있겠죠. 전송량도 중요하지만, 전송되는 횟수도 속도에 영향을 많이 줍니다. 여러개의 쿼리 한번에 처리하기 […]

Elasticsearch

Elasticsearch 7.3 활용해보기 #5 – 한글검색

index이름/_search 를 이용한 한글 검색을 해보도록 합시다. 이게 참 단어가 인덱싱이 잘되어있어야 검색이 되는데, #4에서 봤던 userdict_ko.txt 같은 파일에 고유명사나 분해되면 안되는 단어들은 잘 기록해두도록 해야 합니다. 한글처리가 가능한 index 생성 검색을 하기위한 환경을 만들어봅니다. kibana console에 한글 처리가 가능한 index를 생성하기위해서 다음 쿼리를 console에 복붙(!!) 해봅니다. 생성되었다는 메시지를 확인하시고.. 대량 데이터 추가(bulk api) 대량(??)의 […]

Server

Let’s Encrypt renewal problem

오늘 인증서가 갱신되지 않는다는 메일이 와서 -_- 잠시 해메였습니다. 서버에들어가서 갱신 명령을 내려보니… 난리가 나더군요 Webroot를 지정하지 않았다고… 저 오류에 있는 경로의 conf 파일을 수정해야합니다. 물론 들어가보면 webroot는 딱 찍혀있습니다. 웹루트가 안되서 인증서를 못만든다는 이야기와는 다르게 잘 지정되어있었습니다. 서칭을 해도 나오지도 않고 -_- 서버를 끄고 해보라는 둥 이런것들만 있어서 공식사이트를 찾아보던중 방법을 발견했습니다. # renew_before_expiry […]

Elasticsearch

Elasticsearch 7.3 활용해보기 #4 – 기본적인 쿼리 사용

DB라면 기본적인 CRUD를 만들어봅시다. Elasticsearch는 RestAPI 다루듯이 쿼리한다고 생각하면 접근이 쉽습니다. 실제로 http 프로토콜로도 쿼리가 가능해서 서버에서 cros 접근설정이 되어있다면, Javascript로도 충분히 컨트롤이 가능하지요.. RestAPI에서 데이터를 가져올때 GET, 추가할때 POST, 삭제할때 DELETE, 수정할때 PUT을 사용하는 것처럼 Elasticsearch에서도 동일하게 사용됩니다 Elasticsearch에서는 index가 DB의 역할을 함으로 데이터를 추가하기위해서는 먼저 정의해야합니다. mapping을 통해 특별한 구조를 줄수도 있고 #3에서 […]