References - [ms-wsp]: Windows Search Protocol Intellectual Property Rights Notice for Open Specifications Documentation

Links to a document in the Microsoft Open Specifications library point to the correct section in the most recently published version of the referenced document. However, because individual documents in the library are not updated at the same time, the section numbers in the documents may not match. You can confirm the correct section numbering by checking the Errata.
Normative References
We conduct frequent surveys of the normative references to assure their continued availability. If you have any issue with finding a normative reference, please contact dochelp@microsoft.com. We will assist you in finding the relevant information.
[IEEE754] IEEE, "IEEE Standard for Binary Floating-Point Arithmetic", IEEE 754-1985, October 1985, http://ieeexplore.ieee.org/servlet/opac?punumber=2355
[MS-DTYP] Microsoft Corporation, "Windows Data Types".
[MS-ERREF] Microsoft Corporation, "Windows Error Codes".
[MS-LCID] Microsoft Corporation, "Windows Language Code Identifier (LCID) Reference".
[MS-SMB2] Microsoft Corporation, "Server Message Block (SMB) Protocol Versions 2 and 3".
[MS-SMB] Microsoft Corporation, "Server Message Block (SMB) Protocol".
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997, http://www.rfc-editor.org/rfc/rfc2119.txt
[SALTON] Salton, G., "Automatic Text Processing: The Transformation Analysis and Retrieval of Information by Computer", 1988, ISBN: 0201122278.
[UNICODE] The Unicode Consortium, "The Unicode Consortium Home Page", 2006, http://www.unicode.org/
Informative References
[Jones] Sparck Jones, K., Walker, S., and Robertson, S.E., "A Probabilistic Model of Information and Retrieval: Development and Status", September 1998, University of Cambridge Technical Report UCAM-CL-TR-446.
[MSDN-FULLPROPSPEC] Microsoft Corporation, "FULLPROPSPEC structure", http://msdn.microsoft.com/en-us/library/ms690996.aspx
[MSDN-OLEDBP] Microsoft Corporation, "OLE DB Provider for Indexing Service", http://msdn.microsoft.com/en-us/library/ms690319.aspx
The WSS helps to efficiently organize the extracted features of a collection of documents. The Windows Search Protocol allows a client to communicate with a server hosting a GSS, both to issue queries and to allow an administrator to manage the indexing server.
When processing files, the WSS analyzes a set of documents, extracts useful information, and then organizes the extracted information in such a way that properties of those documents can be efficiently returned in response to queries. A collection of documents that can be queried comprises a catalog. A catalog may contain an inverted index (for quick word matching) and a property cache (for quick retrieval of property values).
Conceptually, a catalog consists of a logical "table" of properties with the text or value and corresponding locale stored in columns of the table. Each row of the table corresponds to a separate document in the scope of the catalog, and each column of the table corresponds to a property.
The specific tasks performed by the Windows Search Protocol are grouped into two functional areas:
Remote administration of GSS catalogs
Remote querying of GSS catalogs
The Windows Search Protocol enables one GSS catalog management task from a client: querying the current state of a GSS catalog on the server (see CPMCiStateInOut).
All remote administration tasks follow a simple request/response model. No state is maintained on the client for any administration call, and administrative calls can be made in any order.
Remote Querying
The Windows Search Protocol enables clients to perform search queries against a remote server hosting a GSS.
Sending a search query is a multi-step process initiated by the client. The steps are as follows:
The client requests a connection to a server hosting a GSS.
The server verifies that the client is authorized and responds.
The client sends the parameters for the search query, which include:
Rowset properties like the catalog name and configuration information.
The restrictions to specify which documents are to be included and/or excluded from the search results.
The order in which the search results are to be returned.
The columns to be returned in the result set.
The maximum number of rows that should be returned for the query.
The maximum time for query execution.
After the server has acknowledged the client's request to initiate the query, the client can request status information about the query, but this is not a required step.
The client then specifies which properties the server should include in the search results.
The client requests a result set from the server, and the server responds by sending the client the property values for files that were included in the results for the client's search query. If the value of a property is too large to fit in a single response buffer, the server will not send the property; instead, it will set the property status to deferred. The client then requests the property value separately using a series of requests for successive chunks of the value and then resumes requesting other values.
After the client is finished with the search query and no longer requires additional results, the client contacts the server to release the query.
After the server has released the query, the client may send a request to disconnect from the server. The connection is then closed. Alternatively, the client may issue another query and repeat the sequence from step 2.
|