Minneapolis Office Developer Interest Group (MODIG) Mike Hodnick April 22, 2008 The MOSS Search API.

Slides:



Advertisements
Similar presentations
SharePoint 2010 Client Side Object Model. Agenda Introduction The Problem Client side vs Server Side Client Side Object Model – How it works – What can.
Advertisements

Needles in a Haystack Harnessing the SharePoint Search Engine Presenter: Ivan Wilson – SharePoint Gurus.
SharePoint User Group Chicago: 1/24/2013 SharePoint 2013 Search Overview.
Customizing the MOSS 2007 Search Results November 2007 Rafael Perez.
S HARE P OINT 2013 S EARCH – A D EVELOPER ’ S P ERSPECTIVE Ryan McIntyre MCITP, MCPD Director, Portals & Collaboration.
DEV11 SharePoint Search Extensibility Mike Fitzmaurice Senior Technical Product Manager Microsoft Corporation
Mirjam van Olst. About Mirjam van Olst Microsoft Certified Master SharePoint 2007 MVP SharePoint Server SharePoint Architect at Macaw Co-organizing DIWUG.
SharePoint 2007: Search Deep Dive Erik Mau Inetium.
Welcome to the Minnesota SharePoint User Group March 12 th, 2008 SharePoint Search Brian Caauwe, Wes Preston.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
SharePoint de Contact Search and Find With SharePoint 2010 Thierry Gasser Technical Specialist Collaboration Platform
Minneapolis Office Developer Interest Group (MODIG) December 10, 2009 Client Object Model Development Neil Iversen
Microsoft ® Official Course Interacting with the Search Service Microsoft SharePoint 2013 SharePoint Practice.
Using Social Care Online: an overview Version 1.0 April 2015.
Thank you SPSKC15 sponsors!. SharePoint 2013 Search Service Application (SSA) Ambar Nirgudkar Software Engineer
Using ProQuest Databases Jackson Community College Atkinson Library.
Welcome to the Minnesota SharePoint User Group June 10 th, 2009 Search: From WSS to FAST Brian Caauwe, Wes Preston Bob Koviak,
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
SRC303: Search in Microsoft Office SharePoint Server 2007: Customizing and Extending Zlatan Dzinic Principal Consultant Business Connexion.
Alonso Robles Solutions Architect speakTECH
Customizing and Extending Microsoft Office SharePoint Search Tom Rizzo Director, SharePoint
Welcome to the Minnesota SharePoint User Group. Quick Intro Announcements Personalization in SharePoint Configuring User Profiles Configuring Audiences.
Create with SharePoint 2010 Jen Dodd Sr. Solutions Consultant
Welcome to the Web of Science tutorial By the end of this tutorial you should be able to: Do a basic search to find references Use search techniques to.
Minneapolis Office Developer Interest Group (MODIG) July 22, 2008 Developing against SharePoint Remotely (No Object Model Allowed!) Raymond Mitchell Inetium.
SharePoint MOSS Platform Server-based Excel spreadsheets and data visualization, Report Center, BI Web Parts, KPIs/Dashboards Enterprise.
Building Search Portals With SP2013 Search. 2 SharePoint 2013 Search  Introduction  Changes in the Architecture  Result Sources  Query Rules/Result.
Syed Qasim SharePoint Innovations, LLC GIGABYTES 2003: 24B 2004: 48 B 2006: 100B 80% Unstructured 2 002: 12B Cave paintings, Bone tools 40,000.
Minneapolis Office Developer Interest Group (MODIG) March 25, 2008 Custom Column Development Neil Iversen Inetium
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
WCM Platform Improvements ECM and Enterprise Metadata Advanced Routing and Document Sets In Place Records Management.
Real World Case Study KM Summer Institute June Rano Joshi, Vorsite.
SharePoint 2010 Search Architecture The Connector Framework Enhancing the Search User Interface Creating Custom Ranking Models.
Searching Business Data with MOSS 2007 Enterprise Search Presenter: Corey Roth Enterprise Consultant Stonebridge Blog:
© 2015 Ascendum Solutions. All rights reserved. Welcome To Create Dazzling End-user applications using SharePoint Search Speaker: Bill Crider #sharepointcincy2015.
Module 10 Administering and Configuring SharePoint Search.
0 SharePoint Search 2013 Rafael de la Cruz SharePoint Developer Seneca Resources twitter.com/delacruz_rafael
[ Part III of The XML seminar ] Presenter: Xiaogeng Zhao A Introduction of XQL.
Minneapolis Office Developer Interest Group (MODIG) April 28, 2009 Custom Workflow Actions in SharePoint Designer Raymond Mitchell Inetium
DT228/3 Web Development Databases. Querying a database: Partial info Search engines, on-line catalogues often need to allow user to search a database.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Search Overview Search Features: WSS and Office Search Architecture Content Sources and.
NSF DUE ; Wen M. Andrews J. Sargeant Reynolds Community College Richmond, Virginia.
WINDOW SEARCH SERVER Topics  Topology  High-level Architecture  Performance  WSS vs. MOSS Search Comparison  Search Server 2008.
Running External Applications 1. There are times when you may wish to run an external application from a VB application. 2 External Applications.
Mike Fitzmaurice Enterprise Technology Strategist Microsoft Corporation OFC326.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Integrated Departmental Information Service IDIS provides integration in three aspects Integrate relational querying and text retrieval Integrate search.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
 CONACT UC:  Magnific training   
Leveraging SharePoint Search In SharePoint 2013 Jameson Bozeman.
In this session, you will learn to: Create and manage views Implement a full-text search Implement batches Objectives.
Introduction to Enterprise Search Corey Roth Blog: Twitter: twitter.com/coreyrothtwitter.com/coreyroth.
Discovery and Metadata March 9, 2004 John Weatherley
Search can be Your Best Friend You just Need to Know How to Talk to it IW 306 Ágnes Molnár.
Benjamin Niaulin Presented at: SharePoint Fest Chicago SharePoint Geek Content Query Web Part – Get it all in one place and style it!
SharePoint 2007 Business Intelligence
Microsoft Office SharePoint Server 2007 Enterprise Search
Searching Business Data with MOSS 2007 Enterprise Search
Searching Business Data with MOSS 2007 Enterprise Search
SQL Server 2000: Integration with AD and E2K
Project Management in SharePoint
International Marketing and Output Database Conference 2005
Project Management in SharePoint
Getting Started With Solr
Making the most of Search in Microsoft SharePoint Online
敦群數位科技有限公司(vanGene Digital Inc.) 游家德(Jade Yu.)
<Add authors and affiliation>
9/8/ :03 PM © 2006 Microsoft Corporation. All rights reserved.
Presentation transcript:

Minneapolis Office Developer Interest Group (MODIG) Mike Hodnick April 22, 2008 The MOSS Search API

Agenda Introduction Feature Presentation – MOSS Search API Topic Discussion Random Stuff

User Group Goals Provide a community for SharePoint Developers Share development knowledge Exchange tips/tricks/other/free pizza

User Group Format Presentations – 1-2 per meeting – Hopefully Demo Heavy Highlights of Nifty Things QA/Discussion/Random Things

Call for Cool Stuff Created something cool? – Send Screenshots or Videos We’ll try to feature some items here

sharepointmn.com/modig Our current home Meeting information – Usually has the right time Previous presentations Running on SharePoint – As required by SharePoint User Group Law

Upcoming Next Meeting – May ?? (5:30pm) – Topic: Web Part Development MNSPUG – May 14 (9:00am – Noon) – Topic : TBD (sharepointmn.com)sharepointmn.com

MODIG T-Shirts true&number=% true&number=%

Let’s dig in to the Search API… Very, very, very brief overview of MOSS Search features Scenario Keyword searches Full Text Searches Search Metadata Search Web Service SharePoint Search Bench I like to search

Very, very, very brief overview of MOSS Search Content Sources Crawled Properties Managed Properties Scopes Keyword Search Advanced Search – “full text search” Search Web Parts

scenario

What out-of-the-box MOSS Search CAN’T do… Drive app navigation Complex searches Execute searches in another app Custom UI layout/logic …and I thought that MOSS Search was so cool….

Keyword Searches with the MOSS Search API Microsoft.Office.Server.Search.Query.KeywordQuery Inherits from Query base class Constructed with an SPSite (or ServerContext) Properties of importance – QueryText (keywords) – StartRow – RowLimit – ResultTypes – SelectProperties (columns) – SortList (columns)

Keyword Searches with the MOSS Search API Returns a ResultTableCollection – Contains ResultTables (ResultTable implements IDataReader) Query Syntax Query TypeFormatExample Single keyword[keyword]Music Multiple keyword[keyword1] [keyword2]Music Guitar Keyword inclusion/exclusion+[keyword to include] –[keyword to exclude] +music –guitar Managed Property match[property]:[value]Artist:Helmet

Default ResultTypes Value ResultTypes property defaults to “None” To get results, you must set this property every time – Set to “RelevantResults” % of the time

keyword query demo

Full Text Searches with the MOSS Search API Microsoft.Office.Server.Search.Query.FullTextSqlQuery Inherits from Query base class (just like KeywordQuery) Constructed with an SPSite (or ServerContext) Properties of importance – QueryText – StartRow – RowLimit – ResultTypes Remember to set this value!

Full Text Searches with the MOSS Search API Returns a ResultTableCollection SQL Full Text style syntax SELECT Title, Author, Path, Rank FROM Scope() WHERE FREETEXT(DEFAULTPROPERTIES, ‘music guitar’) ORDER BY RANK DESC WHERE ConditionFormat FREETEXTFREETEXT(Property, ‘[keywords]’) CONTAINSCONTAINS(Property, ‘[keywords]’) Exact Property Match[property] = [value] Scope“Scope = ‘[scope name]’”

Specifying a Full Text Search Scope “FROM Scope()” has nothing to do with search scopes “FROM Scope()” cannot change To specify a scope, use a scope constraint in the WHERE clause SELECT Title, Author, Path, Rank FROM Scope() WHERE FREETEXT(DEFAULTPROPERTIES, ‘music guitar’) AND “Scope = ‘MusicLibrary’” ORDER BY RANK DESC

full text query demo

Search Metadata Managed Properties – Microsoft.Office.Server.Search.Query.Query class – Query.GetProperties() – PropertyInformation class Scopes – Microsoft.Office.Server.Search.Administration.Scopes class – Scopes.AllScopes property – Scope class

search metadata demo

Search Web Service Relevant methods MethodReturns Query(string)Returns string xml of results QueryEx(string)Returns DataSet of results GetSearchMetadata()Returns DataSet of Scopes and ManagedProperties

Search Web Service Query() and QueryEx() methods receive a string parameter QueryPacket xml – Specify search type (Keyword vs. Full Text) – Specify properties found in FullTextSqlQuery and KeywordQuery classes QueryPacket Schema

search web service demo

Web Service vs. API Quirk StartRow – API – index starts at zero – Web Service – index starts at one

Search Llama asks: “How many values does a Boolean have?”

Difficulties with the MOSS Search API Differences between Keyword and Full Text On server vs. off server Full Text query syntax is ugly Pain to set up and debug searches – Trying out a search scope – Trying out a managed property

SharePoint Search Bench Open Source (CodePlex) Testing ground for searches Uses object model or web service Targets Keyword or Full Text SPSearch Bench API – Homogeneous search calls – Full Text query generator

SPSearchBench UI demo

SharePoint Search Bench API Search class – Context Uri – SearchType – ApiSource – SearchText – Credentials (for web service calls)

SharePoint SearchBench API Object Model, Keyword search Search search = new Search(); search.ContextUri = new Uri(“ search.ApiSource = ApiSource.ObjectModel; search.SearchType = SearchTypes.Keyword; search.SearchText = new SearchText(“music”); DataSet results = search.Execute();

SharePoint SearchBench API Web Service, Full Text search Search search = new Search(); search.ContextUri = new Uri(“ search.ApiSource = ApiSource.Service; search.SearchType = SearchTypes.FullText; search.SearchText = new SearchText(“Select Title ” + “, Author, Rank From Scope() Where “ + “FREETEXT(DEFAULTPROPERTIES, ‘music’) “ + “Order By Rank”); Search.Credentials = new NetworkCredential(…); DataSet results = search.Execute();

SPSearchBench API demo

SharePoint Search Bench Full Text Query Generation FullTextBuilder class – Select (adds columns) – Where (adds a constraint) – Order By Constraint class – Freetext – Contains – Property equality comparison –.Or(Constraint) –.And(Constraint)

FullTextBuilder Examples string fields = “Author, Title, Rank”; string keywords = “music”; FullTextBuilder output = FullTextBuilder.Select(fields).Where( Condition.FreeText(keywords)); string fields = “Author, Title, Rank”; string keywords = “music”; Condition c1 = Condition.FreeText(keywords); Condition c2 = Condition.Contains(“Author”, “John”); c1.And(c2); FullTextBuilder output = FullTextBuilder.Select(fields).Where(c1);

SPSearchBench FullTextBuilder demo

Resources Writing relevant Full Text queries: Query Packet XML Schema: SharePoint Search Bench: Microsoft.Office.Server.Search.Query Namespace: us/library/microsoft.office.server.search.query.aspx us/library/microsoft.office.server.search.query.aspx

It looks like you’ve reached the end. Would you like to…  Go home  Ask a question  Wake up  Don’t show this tip again