본문 바로가기

.Net/SharePoint 2013

[SPS2013] Search 서비스 1 - 개요

안녕하세요. 김승진입니다.


오늘 부터는 SharePoint 2013의 Search 서비스에 대해서 알아 보도록 하겠습니다.

사실 이부분 또한(?) 자신 없는 부분이기 때문에 정리한다는 차원에서 읽어 주시면 감사하겠습니다.

  1. Search 서비스 개요 - UX, Sorting, Architecture
  2. Search 서비스 구성
  3. Search 서비스 실전 활용


Search 서비스는 SharePoint 2013에서 가장 크게 개선된 부분이라고 할 수 있습니다.

과거 SharePoint Foundation 2010, Search Server 2010, Fast Search Server 2010 등 다양한 검색 제품군을 가지고 있었습니다.(해당 제품군들은 각자 기능 사양을 가지고 있었음)

그중 Fast Search Server 2010은 가장 고급 모델로 MS가 2008년 노르웨이의 대표적인 검색업체 FAST의 제품을 기반으로 하고 있습니다. (당시 시장 2위 였음, 1위는 Autonomy 현재 HP에 인수됨)


2013에서는 이러한 다양한 버전을 SharePoint 2013 제품 내에 Search Service로 통합 하였습니다.

간혹 오해 하시는 분들 중 FAST 엔진이 SharePoint 2013에 들어 왔다고 하시는 분들이 있으나 이 말은 맞는 말씀일 수도 있지만 정확한 의미에서는 틀리다고 할 수 있습니다.


검색 엔진은 기본적으로

  1. Crawl 을 담당하는 Feeding Chain
  2. Index를 보관하는 Index Core
  3. 분석을 담당하는 Analytics Service
  4. 쿼리 수행과 화면에 디스플레이 하는 Query Chain

으로 분리 할 수 있는데 FAST 엔진은 이중 Index Core에 해당하는 부분만 착용되었다고 보시면 됩니다.

그래서 실제 SharePoint 2013에서 Configuration작업을 진행하다 보면 FAST와 많은 부분이 다름을 알 수 있습니다.


  • UX

사용자 경험 상으로는 SharePoint 2010과 크게 다르지 않습니다.

화면 구성은 아래 그램과 같이 크게 4가지로 구분 할 수 있습니다.

  1. Search Box - 상단 검색어를 입력
  2. Search Navigation - 네이비게이터 (Everything, People, Videos, Conversations, Reports)
  3. Refinement Panel - 검색 결과에 대한 필터(Result type, Site, Author, Modified)
  4. Search Core Results - 검색 결과 화면(Title, File Extension, Document Summary, Path, Preview Image, HoverCard)

1,2,3번은 기존과 크게 다르지 않습니다만 3번 Search Core Results는 놀라울 정도로 향상되었습니다.

실제 검색 결과를 출력해주는 부분이기 때문에 비지니스 요구가 가장 많은 부분이기도 합니다.

아래 보시면 Recommendations(추천컨텐츠), 문서 미리보기, 비디오 이미지, HoverCard 등 다양한 컨텐츠를 다르게 표기해줍니다.


아마도 기존 한국의 기업 검색엔진으로 구축된 모습과는 사뭇 다른 모습니다.

대부분 검색의 출처별 카테고리를 묶어 정렬 순서에 따라 표기하는 경우가 많습니다.

이것은 한국 검색 시장에 네이버의 영향이 크기 때문인 듯 합니다.

(언젠가 부터 검색 프로젝트를 하면 고객은 항상 "네이버 처럼 만들어 주세요"를 앵무새처럼 말합니다.)

하지만 SharePoint 2013 Search 는 Google, Bing의 검색 처럼 알고리즘기반 검색 결과를 동적으로 표기합니다.

화면은 Display Template으로 관리되어 다양한 타입으로 커스텀 개발이 가능하도록 되어 있습니다.




  • Sorting

검색을 이야기 할 때 가장 많은 논쟁이 되는 부분이 검색의 정렬 순서입니다.

사실 이부분은 정답이 정해져 있지는 않습니다. 다만 검색의 목적에 따라 사용자가 찾고 싶어 하는 자료를 쉽게 노출 시켜 주는 것을 기본입니다.

SharePoint 2013에서는 기본적으로 Rank Model이라고 하는 기준에 따라 정렬 순서를 결정합니다.

그외에도 아래 그림과 같이 다양한 모델을 제시 하고 있습니다.(경우에 따라 가중치를 바꿀 수도 있습니다.)



Rank Model은 아래와 같은 다양한 변수 및 가중치를 기준으로 Rank Score를 계산하고 결과에 따라 정렬 순서를 결정합니다.

사실 그러다 보니 Rank Model 알고리즘에 대한 이해가 없다면 검색 결과에 대해 논리적으로 설명을 하기 어려운 부분 있습니다.



  • Logical Architecture

아래 논리 아키텍쳐를 보면 Search 서비스의 각 모듈관 관계와 다양한 정보를 알 수 있습니다.

  1. SharePoint 뿐 아니라 HTTP 일반 웹사이트와 Exchage, Lotus Notes 등 다양한 시스템을 대상으로함
  2. Search 서비스가 전자증거개시(eDiscover) 기능과 관계가 있음
  3. SharePoint의 분석/통계(Analytics Reporting) 기능과 관계가 있음
참고 : 전자증거개시(eDiscover) - http://olv.moazine.com/naver/?a_id=65c5A03bITr3mwWpf0pG4AT2


출처 : http://www.microsoft.com/en-us/download/details.aspx?id=30374


Search 서비스의 논리적 아키텍쳐에서 관점 요소는 아래와 같습니다.


1. 크롤링 대상과 방법 선정

    . 크롤링 대상을 SharePoint만 할지 아니면 Exchange, 기간계 시스템 등 어느 범위까지를 선정해야 합니다.

    . 크롤링 방법은 기본적으로 전체 크롤링(Full Crawl), 증분 크롤링(Incremental Crawls)이 제공이 되며 2013부터는 연속 크롤링(Continuous Crawls)을 지원합니다.

2. 인덱스 파티션과 복제 구성 여부

    . 파티션과 복제 구성은 성능과 가용성 측면에서 주요한 요소입니다.

3. Search 서비스의 토폴로지 구성

    . 2013의 토폴로지 구성은 Powershell만 가능합니다.

    . 아래 그림 처럼 Search 서비스의 각 모듈별 역할을 각각의 서버에 분배해서 구성할 수 있습니다.



  • Physical Architecture

참고 : Search Architecture Diagrams http://technet.microsoft.com/en-us/library/cc263199.aspx#search