본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

[공개SW 활용 성공사례 111] 웹스퀘어드 - 공개SW 기반 검색엔진 솔루션 개발

OSS 게시글 작성 시각 2013-11-19 21:13:19 게시글 조회수 1572
“공개SW 기반 검색엔진 솔루션 개발로 사용편의성·확장성 확보”

검색엔진은 어느새 시스템 구축 시 없어서는 안 될 필수 솔루션으로 자리매김한지 오래이다.
기존 공개SW 기반의 검색엔진이 존재하고 있지만, 대부분 외산 버전으로써 그간 한국어 지원이나 사용 편리성 문제 등의 어려움이 제기돼 왔다. 이를 타개하기 위해 검색엔진 개발전문업체인 ㈜웹스퀘어드는 국내 공개SW 기반의 검색엔진 솔루션 'FastcatSearch'을 개발하게 되었다. 시장에서는 추가기능 개발과 확장성이 용이하고 안정적으로 사용점유율을 높여가고 있다는 것이 업계의 평가이다. 2014년 1월 FastcatSearch v2 릴리즈를 앞두고 마무리 개발에 박차를 가하고 있는 웹스퀘어드는 새로운 버전에서 분산환경 및 빅데이터 처리가 가능한 기능의 업그레이드로 더욱 기대를 모으고 있다.

- 기     관 ㈜웹스퀘어드
- 수행년도 2010년~현재
- 도입배경 상용 검색솔루션의 폐쇄성, 기존 공개SW 검색엔진의 한국어 미지원, 웹관리 도구 등의 한계성을 극복하고, 보다 편리한 기능 구현이 가능한 국내 공개SW 기반의 검색솔루션 개발 필요성 대두
- 솔 루 션 Java
- 도입효과 : 기본적으로 한글 분석기가 내장되어 있어 국내 사용자들에게 편의성을 제공하고, 우수한 검색 속도와 높은 정확도, 웹기반으로 사용 효율성 증진

웹스퀘어드 로고

㈜웹스퀘어드는 국내 대표적인 공개SW 기반의 검색엔진 개발기업이다. 검색엔진솔루션회사와 지마켓검색연구개발팀을 거치면서 고성능의 검색엔진을 설계한 검색엔진 분야 전문가로 알려진 송상욱 대표는, 개발자와 담당자들이 검색엔진을 MySQL처럼 쉽고 편하게 쓰도록 제품을 개발하고 검색엔진의 장점을 살려 여러 분야에서 활용 되도록 하는 것에 우선적인 사업목표를 두고 있다고 설명했다. 이를 위해 2011년에는 첫 기업용 오픈소스 검색엔진 FastcatSearch v1을 릴리즈했으며, 기업의 요구사항을 반영하여 상용 검색엔진 FastcatSearch도 공급해오고 있다.

 

검색엔진을 논할 때 대부분 구글이나 네이버와 같은 웹검색엔진을 이야기하지만 기업내부 파일 또는 DB에서 다양한 질의를 통해 사용자가 원하는 문서를 찾아내도록 하는 데 초점을 맞추고 있다. 웹페이지는 웹문서 제목과 본문, 날짜 등으로 매우 간단하지만 기업용 데이터는 컬럼이 매우 많고, 정렬 등의 요구사항이 다양하여 검색엔진 구성이 복잡해지는 경향이 많다. 그렇기 때문에 기업용 검색엔진은 다양한 사용자의 요구사항을 만족시킬 수 있도록 기능이 풍부하면서도 결과가 정확해야 한다.

 

송상욱 대표는 기존 상용 기업 검색솔루션의 특징을 폐쇄성이라고 말한다. 일반적인 DB와는 다르게 관련 내용이 거의 없고 솔루션 업체들이 사용자에게 기술정보를 제공하지 않아 사용에 한계가 있다.

 

반면에 공개SW 기반의 검색 엔진도 여럿 있어 검색 알고리즘 공개와 더불어 누구나 찾아서 관련 논문을 읽어 볼 수도 있다. 하지만 대부분 C언어로 짜여진 코드는 이해하기가 어려워 사용자들에게 크게 도움이 되지 않은 어려움이 있었다.

 


▲ 시스템 구성도

 

“자바 기반으로 사용자의 편리한 활용성 제공”

그간 검색엔진 개발을 해오던 송대표는 이런 문제들의 개선이 시급하다고 판단하고 누구나 쉽고 편리하게 사용할 수 있는 공개SW 기반의 검색엔진을 개발하기로 결심하였다.

 

공개SW 검색엔진 중 ‘Lucene’이 높은 호응도를 보이는 이유가 바로 자바로 개발이 되었고, 매우 읽기 쉽게 작성되어 있기 때문이다. ‘Fastcatsearch’ 역시도 자바를 기반으로 개발되었는데 JVM이 존재하는 시스템에서는 어디서든 안정적으로 동작하고. C⁺⁺로 작성된 솔루션보다 훨씬 장애 대처가 쉬우며 유연한 메모리 관리로 메모리릭의 걱정에서 안심할 수 있게 설계가 가능하다.

 

Open Source는 단순히 'Open' 하는 것에 그치는 것이 아니라 오픈된 코드를 ‘이해’할 수 있어야 하는 것이 기본이다. 이와 같은 특징 때문에 ‘Fastcatsearch’이 공개SW의 순기능에 부응하는 솔루션이라 할 수 있다고 송대표는 말한다.

 


▲패스트캣 로고

 

“검색엔진에서 검색속도, 정확도는 기본, 탁월한 웹 관리도구 지원구현”

그는 검색엔진에서 무엇보다 중요한 요소로 검색속도와 정확도를 꼽았다.
Fastcatsearch은 검색어에 대한 형태소 분석으로 사용자가 원하는 검색결과를 출력하며 고속색인 압축을 통해 검사속도를 높였고 색인속도와 검색속도도 타 검색엔진보다 우수하다는 설명이다. 굿소프트웨어(GS) 인증을 획득해 정부로부터 성능을 인정받기도 했다.

 

정확도는 검색어가 포함된 문서를 빠트리지 않고 찾는지와 내가 원하는 문서를 먼저 보여주여 정렬하는 기능이다. 기본적으로 정확도는 정렬 검색 했을 때 상위에 나오는 문서가 내가찾는 문서여야 한다. Fastcatsearch는 단어를 한글분석기로 분석한 뒤 단어 사이의 출현패턴을 확인하여 적합한 문서를 상위로 위치시킨다. 또한 사용자가 원하는 필드가 어떤 것이든지 정렬이 가능하며, 단일뿐 아니라 2중, 3중 정렬기능도 색인 과정 없이 동적으로 제공한다.

 

뿐만 아니라 Lucene이 한글분석기 커뮤니티를 통해 한글로 사용하는 것이 가능하지만 Fastcatsearch는 한글분석기가 기본으로 내장되어 있어 국내에서 사용에 더욱 편리하고 중국어, 일본어 분석기도 모두 갖추어져 있어 편의성을 더했다고 덧붙였다.

 

사용자 편의성을 고려한 웹 관리 도구는 Lucene과 비교해 매우 풍부하고 직관적인 인터페이스는 제공한다. 데이터 설정, 색인, 키워드관리, 테스트 등의 검색운영의 일련의 전 과정을 관리 도구를 통해 모두 제공하고 있다. 웹기반이므로, 브라우저만 있으면 어디서든지 접속이 가능하며, 모바일 환경에서도 100%동일한 관리기능을 제공한다.

 

또한 서버 리소스를 효율적으로 활용하도록 설계하였기 때문에 펜티엄III에서도 동작할 정도로 매우 작은 메모리 Foot print를 가지고 있으며, 동적색인 또한 매우 빠르게 이루어져 사용자들은 검색엔진에 쉽게 적응할 수 있다.

 

이러한 기능적인 우수성 때문에 다양한 기관에서 활용되고 있는데 예를 들어 높은 검색 기술이 요구되는 ‘다나와’ 등의 비교검색 사이트, 쇼핑몰, 언론사 홈페이지의 자료검색에서부터 사내문서검색 엔진으로 폭넓게 활용되고 있다고 설명했다.

 

공개SW 모음 브랜드 FastcatGroup

fastcatsearch는 FastcatGroup의 하나의 솔루션이다. 현재는 플래그십 솔루션이지만 향후에는 다른 어떤 솔루션이 이를 대체할지 모른다. 패스트캣그룹은 fastcat라는 prefix 이름으로 만들어지는 공개SW를 하나로 묶어주는 그룹으로 커뮤니티 이름이기도 하고 브랜드가 이름이기도 하다.

현재 패스트캣그룹은 검색엔진솔루션과 문서파일 필터, 로그 분석기 등이 포함되어 있다. 앞으로도 IT현장에서 필요한 솔루션들은 계속 개발되어 추가될 것이다. 패스트캣그룹은 빈번하게 요구되고, 높은 기술을 요구하여 개발하기 어려운 솔루션들로 이루어져 있다. 문서파일 필터도 문서파일 포맷을 모르면 만들 수 없고, 로그분석기도 대용량 통계작업 구현이 쉽지 않다.

하지만 웹스퀘어드는 이러한 어려움을 해결해나가면서 솔루션을 사회와 공유하는데 만족을 얻고자 한다. 실제로 사용제품을 구입 하려면 고가의 제품들이지만 패스트캣그룹에서는 무료로 얻을 수 있다. 커스터마이징이 필요하다면 패스트캣그룹 커뮤니티내의 숙련된 개발자들이 시간을 내어 무료로 봉사할 수도 있고, 유료로 파트타임 도움을 줄 수 도 있다. 패스트캣그룹은 2014년에 글로벌 커뮤니티로 성장시킬 계획이다.

 

송대표는 공개SW 커뮤니티의 계속적인 지원으로 검색엔진분야에서 개발자와 사용자들이 가장 좋아하는 솔루션으로 꼽히길 기대한다며 인터뷰를 마무리했다.

 

□ 저장소 및 배포처

http://www.fastcatsearch.org/
https://github.com/fastcatgroup/fastcatsearch


[인터뷰]


“공개SW 활성화에는 문서화와 원활한 유지보수가 필수요건”

㈜웹스퀘어드 송상욱 대표


웹스퀘어드 송상욱 대표

향후 국내 및 전 세계 공개SW 기반의 검색엔진 현황은?

공개SW 기반 검색엔진은 해외에 이미 여럿이 존재한다. 하지만 무엇보다 많은 사람이 사용하는 솔루션이 호응도가 높다. 그 이유는 트러블슈팅 내역을 웹에서 쉽게 찾을 수 있어야 운영이 편해지기 때문이다. 현재 공개SW 검색엔진은 Lucene의 단독 선두체제이며, Elastic Search, 그리고 DB기반의 스핑크스 검색엔진 등이 가세하고 있다. 이들은 커뮤니티가 잘 조성되어 있다는 것이 장점이지만 아무래도 한국사용자들은 영어에 취약하기 때문에 사용에 어려움을 느끼고 있다.
국내 기반의 fastcatsearch가 좀 더 알려지고 사용된다면 국내 사용자들이 느끼는 그 동안의 검색솔루션에 대한 목마름을 해결 할 수 있을 것이다.

 

공개SW의 협업 프로젝트의 확산과 발전을 위한 의견은?

일단은 알려져 많이 참여하고 커뮤니티가 잘 조성되어야 파급력이 있다고 본다. 확산을 위해서는 문서화와 유지보수가 원활해야 하는데, 아무래도 대부분의 공개SW는 이 부분이 취약하다. fastcatsearch는 커뮤니티 사이트(fastcatsearch.org) 에서 매뉴얼을 제공하고 있다. 또한 구글 그룹스를 통해 커뮤니티활동을 전개해 나가고 있다. 개발진행상황은 github을 통해서 확인 할 수 있으며, 코드를 다운로드 받아 볼 수 도 있다. Github.com/fastcatgroup에서는 검색엔진 뿐 만 아니라 부가적인 프로젝트도 함께 진행하고 있으므로 관심 있는 사람은 편한 마음으로 둘러봐도 좋은 시간이 될 것이다.




- 공개SW 역량프라자
맨 위로
맨 위로