DHPLC 를 이용한 Duchenne 형 근이영양증 보인자 검색 방법 · 그림 2-1. Exon 3 의 흡광도 분석 ... 장 흔한 근육 질환의 하나로, 남아 3500 명중의
[SharePoint Korea Conference 2013 / 김승진] Share point 2013 검색 개발 방법
description
Transcript of [SharePoint Korea Conference 2013 / 김승진] Share point 2013 검색 개발 방법
SharePoint Korea Conference 2013
SharePoint 2013 의 검색 개발 방법
SharePoint MVP
김 승 진
SharePoint Korea Conference 2013
김 승진은
KTDS 커뮤니티팀 재직 중SharePoint MVP 2 년차 (2012, 2013)
GoDev 정회원
SharePoint 경력은 이제 이제 3 년차첫 만남은 2005 년도 어느 프로젝트에서 WSS2.0 으로
주로 ITPro 업무를 해왔으나 요즘은 ALM 에 관심 급증안되는 발코딩 중
그래도 주말에는 사랑스런 가족과 함께 ,,,
SharePoint Korea Conference 2013
이번 세션에서는
• 검색 개발이 왜 필요한가 ?
• 2013 검색 , 무엇이 새로워 졌는가 ?
• KQL, REST, CSOM 이용한 개발 방법• No-Code 커스텀 검색 개발 방법
SharePoint Korea Conference 2013
검색 개발이 왜 필요한가 ?
• 충분히 강력해 졌지만 고객은 여전히 배고파 !!• 디자인 바꿔줘 ~, 검색 결과 바꿔줘 ~
• SharePoint 검색은 “검색 센터"만을 위해서 존재하지 않는다 .• Mobile App, Windows 8 App, SharePoint APP, WebPart 형태
• SharePoint 를 넘어선 SharePoint 의 야심 BCS• 기간계 시스템 확장 Exchange, File Server, 기간계 시스템
SharePoint Korea Conference 2013
SharePoint 2013 검색 , 무엇이 새로워 졌는가 ?
SharePoint 2013 Search
Share-Point 2010
Search
FASTSearch forSharePoint
FASTTechnology
SharePoint Korea Conference 2013
개발자 관점의 검색 아키텍쳐
Http
File Shares
SharePoint
Profiles
Exchange
Lotus Notes
Documentum
Custom
Crawl
Connectors
Parsers
ContentPipeline
IndexingEngine
WebServiceCallout
CTS Runtime
Analyzer
QueryEngine
QueryPipeline
REST Service
ClientFramework
CSOM
Index
Search Schema
Mobile Apps
Windows 8 Apps
SP Apps
SharePoint
No-Code
Search Center
오늘은 여기까지만
SharePoint Korea Conference 2013
실행 쿼리 방법
• Keyword Query Language (KQL)• 권장함
• FAST Query Language(FQL)• 여전히 가능함
• SQL Query• 더 이상 지원하지 않음• 2010 에서 복잡한 쿼리 시 이용하였던 SQL 은 2013 에서 지원하지
않음 , KQL or FQL 로 변경해야만 함
SharePoint Korea Conference 2013
KQL 문법Keyword 예제 설명
일반
Text Korea “Korea” 이 포함된 항목 검색
Wildcard kore*“Korea” 와 “ Korean” 같은 항목 검색
Phrase “Korea Conference” 정확한 구문 검색
문서
IsDocument Korea IsDocument:1 “Korea” 을 포함한 문서 검색
FileExtension Korea FileExtension:docx “Korea” 을 포함한 워드문서 검색
Author Author:Seung-Jin IsDocument:1 저자가 “ Seung-Jin” 인 문서 검색
Title Title:SharePoint IsDocument:1 제목이 “ SharePoint” 인 문서 검색
사람 Lastname Lastname:Kim 성이 “ Kim” 인 사람 검색
작업 contentClasscontentClass:STS_ListItem_Tasks 모든 작업 항목 검색
http://msdn.microsoft.com/en-us/library/ee558911.aspx
SharePoint Korea Conference 2013
REST 실행 방법
• Keywords• http://server/site/_api/search/query?querytext='{KQL
Query}‘
• Selecting Properties• http://server/site/_api/search/query?
querytext='test'&selectproperties='Title,Rank'
• Sorting• http://server/site/_api/search/query?
querytext='test'&sortlist='LastModifiedTime:descending'
• http://server/site/_api/search/query?querytext='test'&sortlist='LastModifiedTime:descending,Rank:ascending'
http://blogs.msdn.com/b/nadeemis/archive/2012/08/24/sharepoint-2013-search-rest-api.aspx
SharePoint Korea Conference 2013
REST 실행 결과
SharePoint Korea Conference 2013
CSOM (Client Side Object Model)
• CSOM in SharePoint 2013
Custom Client Code
JavaScript
Library
Silverlight
Library
.Net CLRLibrary
_vit_bin/client.svc
Clie
nt
Serv
er
ExecuteQuery
OData
_api
SharePoint Korea Conference 2013
DEMOREST API, OData Protocol
SharePoint Korea Conference 2013
CSOM (Client Side Object Model)
• CSOM 영역의 확장
User Profiles
Search
Taxonomy
Feeds
Publishing
Sharing
Workflow
E-Discovery
IRM
Analytics
Business Data
SharePoint Korea Conference 2013
검색 Code 개발을 위한 궁합
• JavaScript/REST• 원격 어플리케이션 개발 시 추천
• JavaScript/CSOM• SharePoint-Hosted apps 개발에서만 지원
• C#/REST• 가능하나 구현 시 복잡함
• C#/CSOM• 원격 어플리케이션 개발 시 추천
• C#/SSOM• Farm 솔루션 기반에서 이용
SharePoint Korea Conference 2013
JavaScript/REST 예제
1. $.ajax(
2. {
3. url: “http://site/_api/search/query?query-text='sharepoint'",
4. method: "GET",
5. headers: {
6. "accept": "application/json;odata=verbose",
7. },
8. success: Results.onSuccess,
9. error: Results.onError
10. }11. );
SharePoint Korea Conference 2013
C#/CSOM 예제
1.ClientContext cctx = new ClientContext("http://site");2.KeywordQuery query = new KeywordQuery(cctx);3.query.QueryText = "{KQL}";
4.SearchExecutor executor = new SearchExecutor(cctx);5.ClientResult<ResultTableCollection> results = 6.
executor.ExecuteQuery(query);
7.cctx.ExecuteQuery();
8.ResultTable result = results.Value[0];9.foreach (var r in result.ResultRows){ }
SharePoint Korea Conference 2013
C#/SSOM 예제
1. using (SPSite site = new SPSite("http://site")) {
2. KeywordQuery kq = new KeywordQuery(site);
3. kq.SourceId = new Guid(“{GUID}");
4. kq.QueryText = “{KQL}";
5. kq.Properties["Tag"] = “{GUID}";
6. ResultTableCollection resultTables =
7. new SearchExecutor().ExecuteQuery(kq);
8. }
SharePoint Korea Conference 2013
DEMOJavaScript/REST+jqGrid 개발
SharePoint Korea Conference 2013
No-Code 커스텀 개발 도구
• Result Sources• Local/Remote SharePoint, OpenSearch, Exchange
• Query Rules• Result Source 에서 규칙을 적용하는 도구
• Result Types• 새로운 Design Manager 를 이용하여 Display Templates 구성
• Search Navigation• 검색 센터의 영역 탭을 관리
• 또 다른 도구들• Hover Panel, Refiners, Content Search web part (CSWP)
SharePoint Korea Conference 2013
DEMONo-Code 검색 개발
SharePoint Korea Conference 2013
참고 자료• MSDN
• SharePoint 2013 Search server class library
• http://msdn.microsoft.com/en-us/library/ee534981.aspx
• Choose the right API set in SharePoint 2013
• http://msdn.microsoft.com/en-us/library/jj164060.aspx
• Building search queries in SharePoint 2013
• http://msdn.microsoft.com/en-us/library/jj163973.aspx
• Get started with the SharePoint 2013 REST service
• http://msdn.microsoft.com/en-us/library/fp142380.aspx
• Using the SharePoint 2013 REST service
• http://msdn.microsoft.com/en-us/library/fp142386.aspx
• What's new in SharePoint 2013 search for developers
• http://msdn.microsoft.com/en-us/library/jj163951.aspx
• SharePoint Search REST API overview
• http://msdn.microsoft.com/en-us/library/jj163876.aspx
• Customizing search results in SharePoint 2013
• http://msdn.microsoft.com/en-us/library/jj687488.aspx
• SharePoint Conference 2012
• SPC230 – Hiller’s Building Search-Driven Applications in SharePoint 2013
• SPC231 – Wardly’s Search Development in SP2013
• SPC202 – Molback’s Search Architecture in SharePoint 201
SharePoint Korea Conference 2013
감사합니다 [email protected]
http://fb.com/jincrom
http://jincrom.tistory.com