Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Moss Metadata Search Configuration Guide

870 views

Published on

Moss Metadata Search Configuration Guide

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Moss Metadata Search Configuration Guide

  1. 1. MSIT – Information Services MOSS Metadata Search Solution/Configuration Guide Table of Contents 1. Summary ...................................................................................................................................2 1.1. Solution Overview ............................................................................................................2 1.2. Solution Scope .................................................................................................................2 1.3. Solution Prerequisites ......................................................................................................2 2. Solution Design and Architecture ..........................................................................................2 2.1. Web Part Gallery .............................................................................................................4 2.1.1. Web Part Connections .....................................................................................................4 2.2. Source Code Sample .......................................................................................................5 3. Installation ................................................................................................................................6 3.1. Installation Steps .............................................................................................................6 3.2. Un-installation Steps ........................................................................................................7 3.3. Upgrade Steps .................................................................................................................7 3.4. Post Install Validation ......................................................................................................7 4. Configuration Sample(s) .........................................................................................................7 4.1. User Scenarios ................................................................................................................7 4.2. Configuration Settings .....................................................................................................8 4.2.1. Basic Search (Quick Reference) .....................................................................................8 4.2.2. Advanced Search ............................................................................................................9 4.2.3. Editor File Configuration ................................................................................................10 4.3. Additional Configuration Details ....................................................................................12 4.3.1. Search Results Web Part ..............................................................................................12 4.3.2. Error Messages .............................................................................................................12 4.3.3. External XSLT Reference ..............................................................................................13 4.3.4. Miscellaneous Features .................................................................................................13 5. Supplemental Info: Schema Details .....................................................................................15 6. Troubleshooting Guide ..........................................................................................................24 6.1. System-Generated Error Messages ..............................................................................24 6.2. Troubleshooting Tools ...................................................................................................24 Document Settings .......................................................................................................................24 1 of 24
  2. 2. 1. Summary 1.1. Solution Overview Search service components were developed and deployed to deliver a richer, more extensible, and manageable metadata (read: document-centric) search experience than can be provided using out of box (OOB) advanced search web parts. The goal of this solution is to provide a comprehensive search experience that can be tailored to specific information services/sources, while future-proofing the design for the consumption of additional sources. 1.2. Solution Scope These custom search components are designed to work with all SharePoint search scopes defined by the site administrator, whether they are defined locally or at the SSP. There are three types of search available with this solution, a pre-configured query with no user input required, links to search results using a SharePoint list or a query string in the URL, or the advanced search query (this is passed via a hidden form, not a query string). See Scenarios below for more information and examples. For even more details, see Architecture and Schema Details toward the end of this document. 1.3. Solution Prerequisites This solution assumes deployment to an MOSS 2007 environment w/ search services enabled on the SSP. 2. Solution Design and Architecture This custom solution breaks up the search process into three distinct phases: 1. Gathering search information from the user (active) or from a pre-configured list/string (passive); 2. Submitting information and building the information; 3. Executing the query and displaying results to the user. 2 of 24
  3. 3. Search Results WP Post form Send search data query Search UI Web Part Query Builder WP Query Object Model Q R u e e s r u y l t Query Engine Content Index Note: The „Form Data‟ and „Search Query‟ are sent as encrypted values and decrypted accordingly at destination. 3 of 24
  4. 4. 2.1. Web Part Gallery Search UI Web Parts Web Part Description Simple Search WP This is used for setting up a keyword search. This web part has a textbox and a search button. Keyword value is sent in query string argument. Advanced Search WP This is used for setting up advanced search. This web part renders the UI elements based on the configuration set. Query arguments posted in form collection. Query Builder Web Parts Web Part Description Query Builder WP This web part is used in conjunction with Advanced Search Web Part. Uses XML configuration posted by Advanced Search WP to process the form collection to build a query. This WP also has a query override property for creating static queries on a page QueryString Builder WP This web part used with simple search where the keyword and query are posted as query string values. Gets an encrypted query off the query string. Formatted QueryString This web part reads all query string variables posted and replaces Builder WP them in the query configuration with their values. Arguments from the query string are substituted into a query template. Integrated QueryString This web part is designed to be used for integrating simple search Builder WP with Faceted Search solution. Search Results Web Parts Web Part Description Search Results WP Executes the search query and returns all the results. Search Results Preview Uses a custom query configuration and returns only a subset of WP results. A “More” link is created that sends the encrypted query in the query string. 2.1.1. Web Part Connections The QueryStringBuilder WP and Search Results WP needs to be connected. To establish the connection, go to edit mode, select „edit‟ menu on the QueryStringBuilder WP >> Connections >> Send Query To >> Search Results WP. 4 of 24
  5. 5. 2.2. Source Code Sample The following is an example of a control that extends the out-of-box (OOB) Search UI functionality where the values of the contains clause are stored and managed in a SharePoint list. To create your own list controls, inherit from the appropriate base classes and implement your own UI code. Configuration: <containsCollectionCondition column=quot;ArtistDisplayNamequot; id=quot;MSITASC_artistquot; label=quot;Artist Name:quot; parse=quot;stringquot; relevant=quot;truequot; operator=quot;orquot; control=quot;Microsoft.InformationServices.Search.Controls.SPListLookupControl, Microsoft.InformationServices.Search.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bca9770034f1f5b1quot;> <properties> <property name=quot;Listquot;>Artists</property> <!-- releative path to web containing the list --> <property name=quot;Webquot;>/sites/artweb</property> <!-- CAML Query --> <property name=quot;Camlquot;> <![CDATA[ <View> <ViewFields> <FieldRef Name='Title'/> </ViewFields> <Query> <Where> <Neq> <FieldRef Name='Title'/> <Value Type='Text'></Value> </Neq> </Where> <OrderBy> <FieldRef Ascending=quot;TRUEquot; Name=quot;Titlequot; /> </OrderBy> </Query> </View> ]]> </property> <property name=quot;DataSourceIdquot;>artist_source</property> <property name=quot;DataTextFieldquot;>Title</property> <property name=quot;DataValueFieldquot;>Title</property> <!-- allowable values are Multiple or Single --> <property name=quot;SelectModequot;>Multiple</property> <property name=quot;Empty_Textquot;>--No Artist Selected--</property> <property name=quot;CssClassquot;>searchcenterlblong</property> </properties> </containsCollectionCondition> 5 of 24
  6. 6. 3. Installation 3.1. Installation Steps 3.1.1.Navigate to the appropriate drop folder and verify the files located in the setup directory of the latest build. Example: Search_AdvancedSearch-Advanced-Generic_########.#x64ReleaseSetup 3.1.2.On the MOSS server, click Start->Run->”cmd”. This will open the command prompt. Navigate to the folder where the setup files are copied. 3.1.2.1. ALTERNATE: Run Installer.exe 3.1.3.Run the install.cmd file from the command prompt. 3.1.3.1. Since this package is composed of multiple solutions specify the cab_names value (install Search) 3.1.4.Provide the url of the site collection (e.g. http://portals) at the prompt and hit enter. 3.1.5.Follow the on screen instructions 3.1.6.The install will retract the solution and delete it if it is already installed 3.1.7.The install deploys the solution and prompts for confirmation 3.1.8.When prompted to check status on the admin page >> go to the Sharepoint 3.0 Central Administration 3.1.9. Click on “Operations” in the left hand menu and then on “Solution Management” under “Global Configuration”. 3.1.10. Confirm that the following solutions were deployed: 3.1.10.1. AdvancedSearchWebparts.v2.0.cab 3.1.10.2. ListLookupControl.cab 3.1.11. Switch back to the command prompt window and click enter to confirm that the solution is deployed. 6 of 24
  7. 7. NOTE: ListLookupControl.cab should be deployed as a part of the metadata search services solution (MSSS). This supplemental control provides a control for the advanced search configuration to populate from items stored in a SharePoint list. 3.2. Un-installation Steps Run the UnInstall script located in the setup directory of the latest build. Follow the same prompts as described above. 3.3. Upgrade Steps Run the Upgrade script located in the setup directory of the latest build. Follow the same prompts as described above. 3.4. Post Install Validation Verify that the web parts are added to the web part gallery. Add smoke test for canned query example w/ a known scope. 4. Configuration Sample(s) 4.1. User Scenarios The following list summarizes the key search scenarios supported by the solution: Use Case Description Pre-configured query with no user User requests a page; a web part on the page (with a default query) executes and input required displays results on page load. Links to search results using the Parameters stored and pulled from a SharePoint list following query sources 1. Description: editor stores a set of subject values in a list field which are passed to a builder either on the same page or a different page. 2. Example: Library Books Browse by Subject service where a combination of keyword or authority code values might be stored to build a complex query against the library catalog. Parameters pulled from a query string in the URL 3. Description: user clicks a link on the page which has parameters attached to it which are read by the builder either on the same or a different page 4. Example: Library Training & Certs sub-pages where user clicks on a link that has query parameters baked into the URL. Parameters pulled from a hidden form (passing query from one page to another) 5. Description: user gets a limited result set, but has a “more >>” link to a fuller set of results on another page. Advanced Search UI Business requires ability to easily extend or modify an advanced search interface to expose specific content source properties (and property field values, if known); query must support complex nested queries. 7 of 24
  8. 8. 4.2. Configuration Settings Simple and Advanced Search (Site Search Center) o Keyword Search (Simple) – text box available from right rail of all page layouts (excluding search center pages). This search will pass submitted values, via query string, for query building (see details below). o Metadata Search (Advanced) – scoped to Horizon catalog contents (inclusive of books, ebooks, video, courseware, and other items. Market Research items excluded). UI generated from config Advanced Simple xml in a web part property. Search Search This config info is also Web part Web part used to define the query. Search information Search information gathered and posted to gathered and posted to same page or different same page or different page in the form collection. page in the querystring Formatted or Query Query builder and results Complex Builder and results Builder webparts are connected Querystring webparts are connected Builder Query builder uses Builder contains formatted configuration passed from string (Formatted builder) or ASWP to construct query. configuration xml (Complex builder). Arguments are Results web part gets query retrieved from querystring from builder, adds sorting and inserted into the query Search option, and runs query Search Results using FulltextSqlQuery Results Results web part gets query Web part Web part from builder, adds sorting option, and runs query using FulltextSqlQuery 4.2.1. Basic Search (Quick Reference) To set up a keyword search, drop the following web parts onto the page and configure them. IS Simple Search Web Part v2.0: Set the following properties on this web part. Property Name Description PostBackUrl Url to which the keyword gets submitted. Search TextBox Css Class Css Class for TextBox Search Image Css Class Css Class for search image. QueryString Builder v2.0: Set the following properties on this web part. Property Name Description Configuration Editor Specify search query configuration 8 of 24
  9. 9. IS Search Results v2.0 Property Name Description XSL Editor Specify the internal xslt for transforming search results. Sorts Editor To enable sorting, specify the sorting configuration. RSS Editor To enable RSS feed for the search results, specify this configuration. Query Settings This property group contains settings for search query. Default settings are used if nothing has changed. StyleSheet Settings Contains link to external css file and also the css class names for Pagination, Sorting and ToolBar controls. Error Messages This contains two properties. 1. Search Service Not Found: Specify custom error message to be displayed when the search service was not found. 2. Generic Error Message: Custom error message for all other errors Pagination and Sorting Contains properties for Pagination and Sorting. SortControl Type: You can choose Horizontal type other than the regular SortControl. You can turn the Paging, Sorting On/Off by using the check boxes. External Xslt You can specify an external Xslt file for transforming the search results other than the internal one that is specified in the „XSLT Editor‟ property. To enable this turn on the „Use External Xslt‟ check box and specify the .xsl file path. Miscellaneous 1. To enable RSS, check the „Display RSS‟. 2. To enable Search Provider for IE, check the „Display Add IE7 Search Provider‟ and enter location of the provider definition xml file. 4.2.2. Advanced Search To set up Advanced Search, drop the following web parts onto the page and configure them. IS Advanced Search Web Part v2.0: Set the following properties on this web part. Property Name Description Advanced Search Editor Specify configuration for UI elements as well as search query. PostBackUrl Specify Url to which the form data gets posted. By default the page postback to itself. CSS File External Css file for styling UI elements. Default file: /Style Library/en-us/Core Styles/advsearch.css Search Button display Specifies the location and number of Search buttons. DisplayAtTopOnly – Button is displayed only at top 9 of 24
  10. 10. DisplayAtBottomOnly – Button is displayed at the bottom. DisplayBoth – Two buttons are displayed. One is at Top and one is at Bottom. By default this is selected. Query Builder v2.0: This web part needs to be connected to IS Search Results v2.0 for sending the query IS Search Results v2.0: Properties are same as explained in „Simple Search‟ above. 4.2.3. Editor File Configuration Configuration of the editor file in the Advanced Search webpart is required to create both the appropriate query and search interface. For example, to generate the UI used on the Library catalog advanced search: 10 of 24
  11. 11. The following configuration file is used: <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <query xmlns=quot;http://mslibrary1quot;> <select>Title, description, HorizonBibNumber, HorizonYearPublished, HorizonItemType1, HorizonAuthor, HorizonFulfillmentUrl, ISBN </select> <where> <operator type=quot;andquot; relevant=quot;falsequot;> <conditions> <freetextCondition id=quot;MSITASC_keywordsquot; column=quot;MSLibraryContentquot; label=quot;Title/Descriptionquot; parse=quot;stringquot; relevant=quot;truequot; control=quot;System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot;> <properties> <property name=quot;CssClassquot;>searchcentertbmed</property> </properties> </freetextCondition> <containsCondition column=quot;HorizonAuthorquot; control=quot;System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot; id=quot;MSITASC_Authorquot; label=quot;Authorquot; parse=quot;stringquot; relevant=quot;truequot; operator=quot;andquot;> <properties> <property name=quot;CssClassquot;>searchcentertbmed</property> </properties> </containsCondition> <rangeCondition column=quot;HorizonYearPublishedquot; control=quot;Microsoft.InformationServices.Search.WebParts.YearRangeControl, Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bca9770034f1f5b1quot; id=quot;MSITASC_datequot; relevant=quot;truequot; type=quot;numericquot; negated=quot;falsequot; label=quot;Date Publishedquot;/> <containsCollectionCondition column=quot;HorizonItemType1quot; label=quot;Formatquot; comparitor=quot;equalsquot; id=quot;MSITASC_itemtypequot; parse=quot;stringquot; operator=quot;orquot; control=quot;System.Web.UI.WebControls.CheckBoxList, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot; relevant=quot;truequot;> <items columns=quot;2quot; allItemsLabel=quot;All Collection Typesquot;> <item name=quot;Bookquot; parsing=quot;stringquot; value=quot;Bookquot; /> <item name=quot;EBookquot; parsing=quot;stringquot; value=quot;EBooksquot; /> <item name=quot;Audioquot; parsing=quot;stringquot; value=quot;Audioquot; /> <item name=quot;Referencequot; parsing=quot;stringquot; value=quot;Referencequot;/> <item name=quot;Coursewarequot; parsing=quot;stringquot; value=quot;Coursewarequot;/> <item name=quot;Report/Standardquot; parsing=quot;stringquot; value=quot;Report/Standardquot; /> <item name=quot;Videoquot; parsing=quot;stringquot; value=quot;Videoquot; /> <item name=quot;Softwarequot; parsing=quot;stringquot; value=quot;Softwarequot; /> <item name=quot;Abstractquot; parsing=quot;stringquot; value=quot;Abstractsquot;/> </items> </containsCollectionCondition> <scopeCondition relevant=quot;falsequot;>quot;scopequot;='Library'</scopeCondition> <containsCollectionCondition relevant=quot;falsequot; column=quot;LibraryLocationquot; id=quot;MSITASC_locationquot; comparitor=quot;equalsquot; operator=quot;orquot; parse=quot;stringquot; control=quot;Microsoft.InformationServices.Search.WebParts.LibraryLocation, Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bca9770034f1f5b1quot; label=quot;quot; /> </conditions> </operator> </where> </query> See the supplemental info section for additional schema details 11 of 24
  12. 12. Schema Element Description query Top element. Defines the query to send to the search service and the UI to collect the information select Takes a comma delimited list of managed properties to return in the query results where Takes a comma delimited list of managed properties to return in the query results operator Contains the conditions of the where clause conditions Container for condition elements scopeCondition Inserts a clause into the where statement in the form of “scope”=‟<scope>‟ scopeCollectionCondition Use this element to collect scope information from the user interface freetextCondition Use this element to build a freetext predicate into the query containsCondition Use this element to build a contains predicate into the query containsCollectionCondition Use this element to build a contains predicate into the query sqlCondition Use this element to build a sql style predicate into the query rangeCondition Use this element to query a range 4.3. Additional Configuration Details 4.3.1. Search Results Web Part Search Results Web Part has been amended in this release to support RSS streaming, IE7 Search Provider support; external XSLT support; vertical and horizontal sort display; and custom error messaging. 4.3.2. Error Messages A custom service not found and generic error message can be provided. Default settings are [blank]. 12 of 24
  13. 13. 4.3.3. External XSLT Reference An external (read: centralized XSLT) can be referenced by pointing the instantiated web part to the override file. If no external file is referenced then the default style contained in the XSL Editor is used. NOTE: this reference can be a relative or absolute path. Be sure that the file is published. 4.3.4. Miscellaneous Features In addition to displaying XML only or the executed query the results web part can be configured to display RSS and IE7 Search Provider links: Activating these features enables the tokens in the default XSLT: RSS editor option allows specifying what fields to make available in the RSS stream. Example: <PropertyMappings> <Property name='TITLE' rssItem='title' /> <Property name='DESCRIPTION' rssItem='description' /> <Property name='HORIZONFULFILLMENTURL' rssItem='url' /> <Property name='HORIZONFULFILLMENTURL' rssItem='link' /> </PropertyMappings> The IE7 Provider needs to specify a path to the XML configuration. By default this is created in the layouts directory, so the path should be overwritten to point to a file in the root of the search center: 13 of 24
  14. 14. http://{server-name}/SearchCenter/Pages/searchprovider.xml And look like: <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> - <OpenSearchDescription xmlns=quot;http://a9.com/-/spec/opensearch/1.1/quot;> <ShortName>MSLibrary Intranet</ShortName> <Description>MSLibrary Intranet</Description> <InputEncoding>UTF-8</InputEncoding> <Url type=quot;text/htmlquot; template=quot;http://{server- name}/SearchCenter/Pages/LibrarySimple.aspx?k={searchTerms}quot; /> </OpenSearchDescription> Paging and Sorting In addition to being able to toggle display of pagination and sort control, the sort control can also be presented vertically in a drop-down box (default) and vertically: The sort display is configured via the Sorts Editor in the web part tool pane. Corresponding configuration: <orderBy> <column name=quot;HorizonYearPublishedquot; defaultDirection=quot;descquot; label=quot;Datequot; /> <column name=quot;HorizonAuthorquot; defaultDirection=quot;ascquot; label=quot;Authorquot;/> <column name=quot;titlequot; defaultDirection=quot;ascquot; label=quot;Titlequot;/> <column name=quot;rankquot; defaultDirection=quot;descquot; label=quot;Relevancequot; fixedSort=quot;truequot; /> </orderBy> Attribute Description name mapped column name defaultDirection specifies whether the default direction is ASCENDING or DESCENDING for that column label value displayed in UI 14 of 24
  15. 15. Displaying Numbered Results To display numbered search results a token must be called in the XSLT: Add <xsl:value-of select=quot;posquot; /> 5. Supplemental Info: Schema Details ELEMENT: QUERY Top element. Defines the query to send to the search service and the UI to collect the information. Parents: none Children: select, where Attributes: none ELEMENT: SELECT Takes a comma delimited list of managed properties to return in the query results. Parents: query Children: none Attributes: none ELEMENT: WHERE Takes a comma delimited list of managed properties to return in the query results. Parents: query Children: operator Attributes: none 15 of 24
  16. 16. ELEMENT: OPERATOR Contains the conditions of the where clause. Parents: where Children: conditions Attributes: Name Value Description type and The type of Boolean operator to join the sub-elements or of the operator element. ELEMENT: CONDITIONS Container for condition elements. Parents: where Children: scopeCondition, scopeCollectionCondition, freetextCondition, containsCondition, sqlCondition, containsCollectionCondition, sqlLookupCondition, sqlCollectionCondition, referencesCondition, literalCondition Attributes: none ELEMENT: SCOPECONDITION Inserts a clause into the where statement in the form of “scope”=‟<scope>‟ Parents: conditions Children: none Attributes: Name Value Description relevant True Set relevant=”true” if this clause is sufficient to run the False query. If you want to force the user to filter on additional elements, set relevant=”false”. Example: <scopeCondition relevant=quot;falsequot;>quot;scopequot;='Market Research'</scopeCondition> ELEMENT: SCOPECOLLECTIONCONDITION Use this element to collect scope information from the user interface. Parents: conditions Children: properties, items Attributes: Name Value Description relevant True Set relevant=”true” if this clause is sufficient to run False the query. If you want to force the user to filter on additional elements, set relevant=”false”. id String in the format : ID used to identify the control. MSITASC_<string> label String Label to display in the UI. control String Full name of the control used to collect the value in the UI. 16 of 24
  17. 17. 17 of 24
  18. 18. Example: <scopeCollectionCondition control=quot;quot; id=quot;MSITASC_scopepickerquot; label=quot;Scopesquot; relevant=quot;falsequot;> <properties> <property name=quot;CssClassquot;>scopePicker</property> </properties> <items> <item name=quot;Libraryquot; value=quot;Library Scopequot;/> <item name=quot;Market Researchquot; value=quot;Market Researchquot;/> </items> </scopeCollectionCondition> ELEMENT: FREETEXTCONDITION Use this element to build a freetext predicate into the query. Parents: conditions Children: properties Attributes: Name Value Description relevant True Set relevant=”true” if this clause is sufficient to run False the query. If you want to force the user to filter on additional elements, set relevant=”false”. id String in the format : ID used to identify the control. MSITASC_<string> label String Label to display in the UI. control String Full name of the control used to collect the value in the UI. column string Name of managed property to use in the freetext clause. parse “string” How the user input should be parsed. If string, “literal” phrases are preserved and single quotes are escaped. If literal, the value of the value attribute is passed through unprocessed. value String Value to use if parse is set to literal. Example: <freetextCondition id=quot;MSITASC_default propertiesquot; column=quot;#DefaultPropertiesquot; label=quot;Keywordsquot; parse=quot;stringquot; relevant=quot;truequot; control=quot;System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot;> <properties> <property name=quot;CssClassquot;>searchcentertblong</property> </properties> </freetextCondition> Above element outputs the following: Freetext(#DefaultProperties, „<string>‟) where string is a space delimited list of words and phrases. Phrases are enclosed in double quotes. Single quotes are escaped. 18 of 24
  19. 19. ELEMENT: CONTAINSCONDITION Use this element to build a contains predicate into the query. Parents: conditions Children: properties Attributes: Name Value Description Relevant True Set relevant=”true” if this clause is sufficient to run the False query. If you want to force the user to filter on additional elements, set relevant=”false”. Id String in the format ID used to identify the control. : MSITASC_<string> Label String Label to display in the UI. Control String Full name of the control used to collect the value in the UI. Column String Name of managed property to use in the freetext clause. Parse “string” How the user input should be parsed. If string, phrases “literal” are preserved and single quotes are escaped. If literal, the value of the value attribute is passed through unprocessed. Value String Value to use if parse is set to literal. operator and Boolean operator used to join words and phrases in the or contains clause. Example: <containsCondition column=quot;HorizonAuthorquot; control=quot;System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot; id=quot;MSITASC_Authorquot; label=quot;Authorquot; parse=quot;stringquot; relevant=quot;truequot; operator=quot;andquot;> <properties> <property name=quot;CssClassquot;>searchcentertblong</property> </properties> </containsCondition> Above element outputs the following: Contains(HorizonAuthor, „<wordlist>‟) Where wordlist: ”phrase” [and|or ”phrase”] phrase : ”word [phrase]” 19 of 24
  20. 20. ELEMENT: CONTAINSCOLLECTIONCONDITION Use this element to build a contains predicate into the query. Parents: conditions Children: properties, items Attributes: Name Required Value Description Relevant No True Set relevant=”true” if this clause is False sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”. Id Yes String in the format : ID used to identify the control. MSITASC_<string> Label No String Label to display in the UI. Control Yes String Full name of the control used to collect the value in the UI. Column Yes String Name of managed property to use in the freetext clause. parse Yes “string” How the user input should be parsed. “literal” If string, phrases are preserved and single quotes are escaped. If literal, the value of the value attribute is passed through unprocessed. Value No String Value to use if parse is set to literal. Operator and Boolean operator used to join words or and phrases in the contains clause. Example: <containsCollectionCondition column=quot;MRVendorquot; label=quot;Vendorquot; id=quot;MSITASC_vendorquot; parse=quot;stringquot; operator=quot;orquot; relevant=quot;truequot; control=quot;System.Web.UI.WebControls.CheckBoxList, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot;> <items columns=quot;3quot; allItemsLabel=quot;All Vendorsquot;> <item name=quot;AMI Partnersquot; parsing=quot;stringquot; value=quot;AMIquot; /> <item name=quot;AMR Researchquot; parsing=quot;stringquot; value=quot;AMRquot; /> <item name=quot;Canalysquot; parsing=quot;stringquot; value=quot;Canalysquot;/> <item name=quot;CI Worksquot; parsing=quot;stringquot; value=quot;CIquot;/> <item name=quot;CEBquot; parsing=quot;stringquot; value=quot;Corporatequot; /> <item name=quot;Forresterquot; parsing=quot;stringquot; value=quot;Forresterquot;/> <item name=quot;Gartnerquot; parsing=quot;stringquot; value=quot;Gartnerquot;/> <item name=quot;IDCquot; parsing=quot;stringquot; value=quot;IDCquot;/> <item name=quot;In-Statquot; parsing=quot;stringquot; value=quot;In-Statquot;/> <item name=quot;Kaganquot; parsing=quot;stringquot; value=quot;Kaganquot;/> </items> </containsCollectionCondition> Above element outputs the following: Contains(MRVendor, ‘”AMI”’) or contains(MRVendor, ‘”Gartner”’) etc. 20 of 24
  21. 21. ELEMENT: SQLCONDITION Use this element to build a SQL style predicate into the query. Parents: conditions Children: properties Attributes: Name Required Value Description Relevant No True Set relevant=”true” if this clause is False sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”. Id Yes String in the format : ID used to identify the control. MSITASC_<string> Label No String Label to display in the UI. Control Yes String Full name of the control used to collect the value in the UI. Column Yes String Name of managed property to use in the freetext clause. parse Yes “string” How the user input should be “literal” parsed. “numeric” “datetime” value No String Value to use if parse is set to literal. comparator yes equals Comparison operator to use in the not equals comparison greater than less than greater than of equals less than or equals Example: <sqlCondition column=quot;Categoryquot; comparitor=quot;equalsquot; control=quot;System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aquot; id=quot;MSITASC_categoryquot; label=quot;Categoryquot; parse=quot;stringquot; relevant=quot;truequot;/> Above element outputs the following: Category=’<string>’ 21 of 24
  22. 22. ELEMENT: RANGECONDITION Use this element to query a range. Parents: conditions Children: properties Attributes: Name Required Value Description Relevant No True Set relevant=”true” if this clause is False sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”. Id Yes String in the format ID used to identify the control. : MSITASC_<string> Label No String Label to display in the UI. Control Yes String Full name of the control used to collect the value in the UI. Column Yes String Example: Name of managed property to use in the freetext clause. <rangeC Parse Yes “string” onditio How the user input should be parsed. “numeric” n “datetime” column= “literal” quot;Horizo Value No String Value to use if parse is set to literal. nPublis hDatequot; control=quot;Microsoft.InformationServices.Search.WebParts.MSLibraryDateControl, Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bca9770034f1f5b1quot; id=quot;MSITASC_datequot; relevant=quot;truequot; parse=quot;datetimequot; label=quot;Date Publishedquot;/> Above element outputs the following: HorizonPublishDate >= DATEADD(DAY, <offset>, GETGMTDATE()) and HorizonPublishDate <= DATEADD(DAY, <offset>, GETGMTDATE()) ELEMENT: LITERALCONDITION Use this element to include a literal condition in the query. This element doesn‟t have a UI. Parents: conditions Children: properties Attributes: Name Required Value Description Relevant N/A True Not applicable. False Label N/A String Not applicable. Control N/A String Not applicable. Column N/A String Not applicable. Parse N/A “string” Not applicable. “numeric” “datetime” 22 of 24
  23. 23. “literal” Value No String Value to use as a literal condition. Id Yes String in the format ID used to identify the control. : MSITASC_<string> Example: <literalCondition id=quot;MSITASC_facetquot; value=quot;contains(HorizonSubjects,'quot;Sciencequot;')quot; /> Above element outputs the following: contains(HorizonSubjects,'quot;Sciencequot;') 23 of 24
  24. 24. 6. Troubleshooting Guide 6.1. System-Generated Error Messages If there is an error connecting to the configured scope a custom error message will be thrown If the search service was not found then a custom error message will be thrown. Note: These two error messages are configurable from web part properties. 6.2. Troubleshooting Tools MOSS Query Tool can be used for validating query constructs. Document Settings Document Name MOSS_Metadata_Search-Configuration_Guide Solution Reference Search-Advanced_20080602.1 CodePlex Project http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectNam e=sptoolbox&ReleaseId=13881 Last save date Friday, June 06, 2008 Notes 24 of 24

×