SharePoint 2013에서 검색에 사용자 컨텍스트(구분) 사용

최초 문서 게시일: 2012년 12월 3일 월요일

검색에서 컨텍스트를 사용하여 현재 사용자를 나타내는 것은 SharePoint 2010에서 FAST Search에 처음 도입되었습니다. SharePoint 2010에서 이것이 어떻게 작동했는지 알아보고 싶으시면 이 게시물(https://blogs.technet.com/b/speschka/archive/2009/12/09/using-custom-properties-to-create-a-fast-search-for-sharepoint-2010-user-context.aspx)을 살펴보시기 바랍니다. SharePoint 2013에는 이와 똑같은 기능은 없지만 이 대신 사용자 구분이라는 기능이 있습니다. 제가 사용자 구분이 무엇이고 어떻게 작동하는지 설명하기보다는 검색 팀의 다른 분이 이미 작성해 놓은 훌륭한 블로그 게시물(https://blogs.msdn.com/b/adaptive_experiences_in_sharepoint_2013/archive/2012/11/14/set-up-user-segmentation-to-drive-adaptive-experiences-in-a-product-catalog-in-sharepoint-2013.aspx)이 있으니 이 글을 살펴보시는 것이 좋을 것 같습니다. 사용자 구분이 무엇인지 잘 설명하고 이를 어떻게 사용하는지에 대한 예를 제시하고 있으니 꼭 읽어 보시길 권장합니다.

제가 그 글을 쓰신 분의 공로를 가로채거나 제 공적으로 돌리려는 것은 아니지만 제가 한 것을 소개하려고 합니다. 그 게시물을 읽어보시면 사용자 지정 웹 파트를 작성하여 현재 쿼리에 적용할 사용자 구분을 알아내야 한다고 언급하고 사용자 구분을 추가하고 있습니다. 그 블로그에서는 브라우저의 속성을 기반으로 사용자 구분을 추가하는 것에 대해 설명합니다. 저는 현재 사용자의 부서를 기반으로 사용자 구분을 추가하는 웹 파트를 작성해 보려고 합니다. 아직 들어보지 못한 분들을 위해 설명 드리면, SharePoint 2013에서 Active Directory로부터 프로필 가져오기를 수행하면 고유한 부서 값이 모두 특별한 용어 저장소에 자동으로 가져와집니다. 따라서 현재 사용자의 부서를 기반으로 몇 가지 사용자 지정을 수행하는 것이 유용합니다.

"사용자 부서를 기반으로 콘텐츠를 제공할 경우 그냥 대상 그룹을 사용하면 되지 않나요?"라고 생각하실 수 있습니다. 그런 생각도 일리가 있지만 둘 사이에 차이점이 있습니다. 대상 그룹을 사용할 경우 단지 설정/해제만 이루어집니다. 즉, 웹 파트를 표시하거나 표시하지 않는 것입니다. 반면 사용자 구분을 사용할 경우 프로필이나 기타 원본에서 해당 정보를 가져와 표시되는 콘텐츠를 사용자 지정할 수 있습니다. 쿼리 규칙을 사용하기 때문에 사용자에 대해 하나 이상의 추가 쿼리를 실행하거나, 승격된 결과를 추가하거나, 쿼리 순위를 변경할 수도 있습니다.예를 들어 사용자의 부서를 기반으로 특정 콘텐츠를 검색 결과에서 더 높은 위치에 표시할 수 있습니다. SharePoint 2013에서는 이러한 기능을 비롯한 수많은 유용한 검색 기능을 사용할 수 있습니다.

이 기능을 사용하는 데 도움을 드리기 위해 컴파일된 웹 파트 어셈블리, 솔루션, 원본 코드를 포함하여 현재 사용자의 부서를 사용자 구분에 추가하는 웹 파트에 대한 저의 Visual Studio 프로젝트 전체를 첨부합니다. 이것을 그대로 사용하든, 이것을 기반으로 구체화하거나 사용자 구분을 관리하기 위한 자체 웹 파트를 작성하든 원하는 대로 사용하시면 됩니다. 위에서 링크로 알려드린 게시물을 읽어보실 때 사용자 구분과 이 웹 파트 사용에 대해 중점적으로 설명해 드릴 사항이 몇 가지 있습니다.

  • 쿼리 규칙을 만들 때 기본적으로 쿼리 규칙은 게시 사이트의 카탈로그를 쿼리하도록 구성되어 있습니다. 이 옵션을 그대로 사용할 경우 검색 결과를 얻지 못합니다. 이 대신 "모든 원본"을 쿼리하는 옵션을 선택해야 합니다. 그 게시물의 쿼리 규칙 구성 그림에 이것이 나타나 있긴 하지만 명시되어 있지는 않습니다. 이것이 작동하려면 기본 동작을 변경해야 하므로 제가 이것을 명시적으로 언급하는 것입니다.
  • 그 게시물에서는 사용자 구분을 사용할 때 다른 웹 파트를 사용하여 강조하려는 콘텐츠 결과를 표시하는 것에 대해 이야기합니다. 그 게시물에 암시되어 있듯이 이 경우 제 웹 파트는 ContentBySearchWebPart에서 상속되므로 이 컨트롤을 사용하여 사용자 구분을 설정하는 동시에 강조할 콘텐츠를 표시할 수 있습니다. 그 게시물에 설명된 것과 약간 다른 유일한 사항은 웹 파트를 페이지에 추가할 때 웹 파트의 Settings 속성에 다른 값 하나를 갖는다는 것입니다. Settings에서 "쿼리 결과 공급자" 속성을 "이 웹 파트"로 설정하면 됩니다.

이제 여러분도 사용자 구분을 사용할 수 있을 것입니다. 여러분 모두 검색에서 사용자 구분을 사용하기 위한 흥미로운 시나리오를 찾게 되시길 바랍니다. 이 게시물을 작성할 때 저의 시나리오는 "Executive" 부서에 속한 직원의 특별 교육을 대상으로 했습니다. 따라서 제 웹 파트가 사용되는 페이지를 검색할 경우 그들이 모두 이수해야 하는 특별한 내부자 거래 교육에 대한 다음과 같은 배너와 링크가 표시될 것입니다.

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Using User Context (AKA Segmentation) in Search with SharePoint 2013을 참조하십시오.