Moss Metadata Search Configuration Guide
-
Upload
pierre-erol-giraudy -
Category
Technology
-
view
691 -
download
0
description
Transcript of Moss Metadata Search Configuration Guide
1 of 24
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
MSIT – Information Services MOSS Metadata Search
Solution/Configuration Guide
2 of 24
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.
3 of 24
Search UI Web Part Query Builder WP
Search Results WP
Query Object
Model
Query Engine
Content Index
Q
u
e
r
y
R
e
s
u
l
t
Post form
data
Send search
query
Note: The „Form Data‟ and „Search Query‟ are sent as encrypted values and decrypted accordingly at destination.
4 of 24
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 Builder WP
This web part reads all query string variables posted and replaces them in the query configuration with their values. Arguments from the query string are substituted into a query template.
Integrated QueryString Builder WP
This web part is designed to be used for integrating simple search 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 WP
Uses a custom query configuration and returns only a subset of 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.
5 of 24
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="ArtistDisplayName" id="MSITASC_artist"
label="Artist Name:" parse="string" relevant="true" operator="or"
control="Microsoft.InformationServices.Search.Controls.SPListLookupControl,
Microsoft.InformationServices.Search.Controls, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=bca9770034f1f5b1">
<properties>
<property name="List">Artists</property>
<!-- releative path to web containing the list -->
<property name="Web">/sites/artweb</property>
<!-- CAML Query -->
<property name="Caml">
<![CDATA[
<View>
<ViewFields>
<FieldRef Name='Title'/>
</ViewFields>
<Query>
<Where>
<Neq>
<FieldRef Name='Title'/>
<Value Type='Text'></Value>
</Neq>
</Where>
<OrderBy>
<FieldRef Ascending="TRUE" Name="Title" />
</OrderBy>
</Query>
</View>
]]>
</property>
<property name="DataSourceId">artist_source</property>
<property name="DataTextField">Title</property>
<property name="DataValueField">Title</property>
<!-- allowable values are Multiple or Single -->
<property name="SelectMode">Multiple</property>
<property name="Empty_Text">--No Artist Selected--</property>
<property name="CssClass">searchcenterlblong</property>
</properties>
</containsCollectionCondition>
6 of 24
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_Advanced\Search-Advanced-Generic_########.#\x64\Release\Setup
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.
7 of 24
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 input required
User requests a page; a web part on the page (with a default query) executes and displays results on page load.
Links to search results using the following query sources
Parameters stored and pulled from a SharePoint list 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.
8 of 24
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).
Advanced
Search
Web part
Query
Builder
Search
Results
Web part
Search information
gathered and posted to
same page or different
page in the form collection.
Query builder and results
webparts are connected
Query builder uses
configuration passed from
ASWP to construct query.
Results web part gets query
from builder, adds sorting
option, and runs query
using FulltextSqlQuery
UI generated from config
xml in a web part property.
This config info is also
used to define the query.
Simple
Search
Web part
Formatted or
Complex
Querystring
Builder
Search
Results
Web part
Search information
gathered and posted to
same page or different
page in the querystring
Builder and results
webparts are connected
Builder contains formatted
string (Formatted builder) or
configuration xml (Complex
builder). Arguments are
retrieved from querystring
and inserted into the query
Results web part gets query
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
9 of 24
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
10 of 24
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:
11 of 24
The following configuration file is used: <?xml version="1.0" encoding="utf-8"?>
<query xmlns="http://mslibrary1">
<select>Title, description, HorizonBibNumber, HorizonYearPublished, HorizonItemType1,
HorizonAuthor, HorizonFulfillmentUrl, ISBN
</select>
<where>
<operator type="and" relevant="false">
<conditions>
<freetextCondition id="MSITASC_keywords"
column="MSLibraryContent" label="Title/Description" parse="string" relevant="true"
control="System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a">
<properties>
<property name="CssClass">searchcentertbmed</property>
</properties>
</freetextCondition>
<containsCondition column="HorizonAuthor"
control="System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" id="MSITASC_Author" label="Author" parse="string"
relevant="true" operator="and">
<properties>
<property name="CssClass">searchcentertbmed</property>
</properties>
</containsCondition>
<rangeCondition column="HorizonYearPublished"
control="Microsoft.InformationServices.Search.WebParts.YearRangeControl,
Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=bca9770034f1f5b1" id="MSITASC_date" relevant="true" type="numeric"
negated="false" label="Date Published"/>
<containsCollectionCondition column="HorizonItemType1" label="Format"
comparitor="equals" id="MSITASC_itemtype" parse="string" operator="or"
control="System.Web.UI.WebControls.CheckBoxList, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" relevant="true">
<items columns="2" allItemsLabel="All Collection Types">
<item name="Book" parsing="string" value="Book" />
<item name="EBook" parsing="string" value="EBooks" />
<item name="Audio" parsing="string" value="Audio" />
<item name="Reference" parsing="string" value="Reference"/>
<item name="Courseware" parsing="string" value="Courseware"/>
<item name="Report/Standard" parsing="string" value="Report/Standard" />
<item name="Video" parsing="string" value="Video" />
<item name="Software" parsing="string" value="Software" />
<item name="Abstract" parsing="string" value="Abstracts"/>
</items>
</containsCollectionCondition>
<scopeCondition relevant="false">"scope"='Library'</scopeCondition>
<containsCollectionCondition relevant="false" column="LibraryLocation"
id="MSITASC_location" comparitor="equals" operator="or" parse="string"
control="Microsoft.InformationServices.Search.WebParts.LibraryLocation,
Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=bca9770034f1f5b1" label="" />
</conditions>
</operator>
</where>
</query>
See the supplemental info section for additional schema details
12 of 24
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].
13 of 24
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:
14 of 24
http://{server-name}/SearchCenter/Pages/searchprovider.xml And look like: <?xml version="1.0" encoding="UTF-8" ?>
- <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>MSLibrary Intranet</ShortName>
<Description>MSLibrary Intranet</Description>
<InputEncoding>UTF-8</InputEncoding>
<Url type="text/html" template="http://{server-
name}/SearchCenter/Pages/LibrarySimple.aspx?k={searchTerms}" />
</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="HorizonYearPublished" defaultDirection="desc" label="Date" />
<column name="HorizonAuthor" defaultDirection="asc" label="Author"/>
<column name="title" defaultDirection="asc" label="Title"/>
<column name="rank" defaultDirection="desc" label="Relevance" fixedSort="true" />
</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
15 of 24
Displaying Numbered Results To display numbered search results a token must be called in the XSLT: Add <xsl:value-of select="pos" />
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
16 of 24
ELEMENT: OPERATOR
Contains the conditions of the where clause. Parents: where Children: conditions
Attributes:
Name Value Description
type and or
The type of Boolean operator to join the sub-elements 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 False
Set relevant=”true” if this clause is sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”.
Example:
<scopeCondition relevant="false">"scope"='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 False
Set relevant=”true” if this clause is sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”.
id String in the format : MSITASC_<string>
ID used to identify the control.
label String Label to display in the UI.
control String Full name of the control used to collect the value in the UI.
17 of 24
18 of 24
Example: <scopeCollectionCondition control="" id="MSITASC_scopepicker" label="Scopes"
relevant="false">
<properties>
<property name="CssClass">scopePicker</property>
</properties>
<items>
<item name="Library" value="Library Scope"/>
<item name="Market Research" value="Market Research"/>
</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 False
Set relevant=”true” if this clause is sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”.
id String in the format : MSITASC_<string>
ID used to identify the control.
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” “literal”
How the user input should be parsed. If string, 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="MSITASC_default properties"
column="#DefaultProperties" label="Keywords" parse="string" relevant="true"
control="System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<properties>
<property name="CssClass">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.
19 of 24
ELEMENT: CONTAINSCONDITION
Use this element to build a contains predicate into the query. Parents: conditions Children: properties
Attributes:
Name Value Description
Relevant True False
Set relevant=”true” if this clause is sufficient to run the query. If you want to force the user to filter on additional elements, set relevant=”false”.
Id String in the format : MSITASC_<string>
ID used to identify the control.
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” “literal”
How the user input should be parsed. If string, 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.
operator and or
Boolean operator used to join words and phrases in the contains clause.
Example: <containsCondition column="HorizonAuthor"
control="System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
id="MSITASC_Author" label="Author" parse="string" relevant="true"
operator="and">
<properties>
<property name="CssClass">searchcentertblong</property>
</properties>
</containsCondition>
Above element outputs the following: Contains(HorizonAuthor, „<wordlist>‟) Where wordlist: ”phrase” [and|or ”phrase”] phrase : ”word [phrase]”
20 of 24
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 False
Set relevant=”true” if this clause is 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 : MSITASC_<string>
ID used to identify the control.
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” “literal”
How the user input should be parsed. 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 or
Boolean operator used to join words and phrases in the contains clause.
Example: <containsCollectionCondition column="MRVendor" label="Vendor"
id="MSITASC_vendor" parse="string" operator="or" relevant="true"
control="System.Web.UI.WebControls.CheckBoxList, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<items columns="3" allItemsLabel="All Vendors">
<item name="AMI Partners" parsing="string" value="AMI" />
<item name="AMR Research" parsing="string" value="AMR" />
<item name="Canalys" parsing="string" value="Canalys"/>
<item name="CI Works" parsing="string" value="CI"/>
<item name="CEB" parsing="string" value="Corporate" />
<item name="Forrester" parsing="string" value="Forrester"/>
<item name="Gartner" parsing="string" value="Gartner"/>
<item name="IDC" parsing="string" value="IDC"/>
<item name="In-Stat" parsing="string" value="In-Stat"/>
<item name="Kagan" parsing="string" value="Kagan"/>
</items>
</containsCollectionCondition>
Above element outputs the following: Contains(MRVendor, ‘”AMI”’) or contains(MRVendor, ‘”Gartner”’) etc.
21 of 24
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 False
Set relevant=”true” if this clause is 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 : MSITASC_<string>
ID used to identify the control.
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” “literal” “numeric” “datetime”
How the user input should be parsed.
value No String Value to use if parse is set to literal.
comparator yes equals not equals greater than less than greater than of equals less than or equals
Comparison operator to use in the comparison
Example: <sqlCondition column="Category" comparitor="equals"
control="System.Web.UI.WebControls.TextBox, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" id="MSITASC_category"
label="Category" parse="string" relevant="true"/>
Above element outputs the following: Category=’<string>’
22 of 24
ELEMENT: RANGECONDITION
Use this element to query a range. Parents: conditions Children: properties
Attributes:
Example: <rangeC
onditio
n
column=
"Horizo
nPublis
hDate"
control="Microsoft.InformationServices.Search.WebParts.MSLibraryDateControl,
Microsoft.InformationServices.Search.WebParts, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=bca9770034f1f5b1" id="MSITASC_date"
relevant="true" parse="datetime" label="Date Published"/>
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 No True False
Set relevant=”true” if this clause is 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 : MSITASC_<string>
ID used to identify the control.
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” “numeric” “datetime” “literal”
How the user input should be parsed.
Value No String Value to use if parse is set to literal.
Name Required Value Description
Relevant N/A True False
Not applicable.
Label N/A String Not applicable.
Control N/A String Not applicable.
Column N/A String Not applicable.
Parse N/A “string” “numeric” “datetime”
Not applicable.
23 of 24
Example: <literalCondition id="MSITASC_facet"
value="contains(HorizonSubjects,'"Science"')" />
Above element outputs the following: contains(HorizonSubjects,'"Science"')
“literal”
Value No String Value to use as a literal condition.
Id Yes String in the format : MSITASC_<string>
ID used to identify the control.
24 of 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?ProjectName=sptoolbox&ReleaseId=13881
Last save date Friday, June 06, 2008
Notes