What is windows desktop search

Windows Desktop Search 2.x

Windows Desktop Search 2.x is an obsolete technology that was originally available as an add-in for WindowsВ XP and Windows Server 2003. On later releases, use Windows Search instead.

The use of and development for the 2.x versions of MicrosoftВ Windows Desktop Search (WDS) is strongly discouraged in favor of Windows Search.

WDS is an indexing service and platform that provides fast search of files and data across different data sources and locations. WDS helps users and other applications find almost anything on their computers, email messages, calendar appointments, photos, documents, and more. Additionally, WDS can return results from multiple data sources all in a Windows Explorer environment so your users can quickly preview, filter, and act on search results.

WDS indexes data within a given crawl scope, the specified locations within a local computer and shared network that the Indexer should crawl. This crawl scope can be controlled by user-set options, management APIs, and Group Policies, which network administrators can configure to control user access permissions and indexing settings. Group Policies can restrict access to certain network resources as well as define resources to be indexed.

This section contains the following topics:

Overview

About the WDS Indexer

When first installed, the Indexer crawls most common user-facing files in the My Documents folder, Microsoft Outlook and Microsoft Outlook Express email folders, and locations specified in Group Policy. Users can also specify new files and locations for the Indexer to include (or exclude) in successive crawls. Each included location is identified by URL, and the Indexer will start at that URL and recursively iterate through any subfolders or locations until all items have been indexed. A scope is a set of URLs. The management APIs can be used by custom applications to define their crawl scope, a set of URLs pointing to paths within a protocol such as file:// for folders on a drive or mapi:// for MAPI email stores like Outlook. WDS uses protocol handlers to access the data stores and filters to parse and index the items text and properties. This data is then stored in the catalog.

About the WDS Catalog

The WDS catalog is an index of text and properties collected from items in specified email, local drives, network resources and other local data stores. The contents of the catalog are based on options and rules set by WDS, applications built on the WDS platform, user preferences and group policies. There are over 200 properties available for each item indexed, such as creation date, size, and type-specific properties («From» for email messages). For a list of these properties, see the WDSВ Schema Reference.

About the Search Engine and Results

From the WDS Deskbar or from Windows Explorer, users can search the full-text content and property metadata of indexed items. The same kinds of searches can also be initiated from the command-line, from a webpage, or from a custom application. The WDS Search Engine locates items matching the search criteria and returns them as Microsoft ActiveX Data Objects (ADO) result sets. WDS displays items matching the search criteria and can present a rich preview of the item. You can create applications to intercept the search query, perform the search, and/or display the result set.

Developing with WDS

There are two primary types of integration with WDS: adding data to the index and querying the contents of the index to retrieve records matching search criteria.

Adding Data to the Index with Add-Ins

There are basically two types of data sources: file system stores and non-file system stores. A group of files in My Documents is a simple file system store. WDS can search information in the files stored in such a file system if it can locate a filter for the file type. You can enable WDS to index a new proprietary file type if you provide an implementation of the IFilterinterface for that file type.

A non-file system store, like a database, requires a protocol handler to enable WDS to navigate through and index data within the data store. For example, if you have a mail client that stores its list of received email in its own file (such as PST files in Outlook), you can provide a protocol handler to index and search each individual email by providing a protocol handler. If the data store is hierarchical, you will also need to implement an IFilterinterface to enumerate the items in the store. For a better user experience, you can implement a Shell Extension to provide context menus and icons from within the results view.

Currently, WDS contains filters for over 200 types of items (including plaintext items such as HTML, XML, and source code files) and uses the same IFilterand protocol handler technology as SharePoint Services. If you already have filters installed for proprietary file types, WDS can use the existing filter interfaces to index this data.

Читайте также:  Lsi embedded megaraid driver windows server 2016

Querying the Index

WDS provides applications with customized result sets of data from the index based on any of the schema values available. Results are returned as ADO record sets. There are four ways to incorporate WDS queries into an application, each offering various levels of customization and robustness.

  • ISearchDesktop Interface — APIs in this interface are used to call WDS programmatically by specifying a query string, a list of columns to return, scope restrictions similar to a Structured Query Language (SQL) WHERE clause, and the name of the column to sort by. These APIs are available for native and managed code.
  • WDS ActiveX Control — This control draws the WDS search interface and manages searching and displaying results. This method is easier than using the APIs but is less flexible. To use this control in a Microsoft Visual Studio application, go to the Choose Toolbox Items dialog from the Tools menu and add «Windows Desktop Search — Results Viewer» to the Toolbox from the COM Components tab. Then add the control to the form you want to include it on. The WDS ActiveX control is compatible with WDS 2.x and 3.x on WindowsВ XP only.
  • Command Line Parameters — Applications can call the WDS executable with various parameters to search and display results. This will open a WDS window with the results displayed. This is the easiest way to add search to an application but does not return to the calling application any information about what the user does within the WDS window.
  • WDSВ Browser Helper Object (BHO) — Similarly, webpages can use the BHO to send queries to WDS or the registered search application. After validating the webpages URL against the WDS domain safe list, WDS will either execute the query and display the results using the standard search interface, or pass the query on to the registered search application.

Users can use Advanced Query Syntax to query the catalog more powerfully by controlling the scope of searches and combining search parameters with Boolean operators. For example, a user could search for an attachment in an email from John that includes either «project schedule» or «project plan» with a query like the following: from:John isattachment:true «project schedule» OR «project plan» .

Compatibility Requirements

WDS 2.6.5 is available for WindowsВ 2000, Windows ServerВ 2003, and WindowsВ XP only. WDS is a separate download available from Microsoft for free for personal and business use. It must be installed and in use for indexing the user account before applications built for WDS 2.6.5 will work.

System Requirements

The following are required to use Windows Desktop Search:

  • Windows Internet Explorer or later.
  • To include your email messages in the catalog, you must have either MicrosoftВ Microsoft OutlookВ 2000 or later, or MicrosoftВ Outlook Express 6.0 or later.
  • Full preview of MicrosoftВ Microsoft Office documents in the results view requires Office XP or later.
  • Minimum Pentium 500 MHz processor (1 GHz recommended).
  • WindowsВ XP, WindowsВ 2000 SP4 or later, or Windows ServerВ 2003 Service Pack 1.
  • Minimum 128 MB of RAM (256 MB recommended).
  • 500 MB of free hard disk space recommended. The size of your index depends on how much content you have indexed.
  • 1024 x 768 screen resolution recommended.

Windows Search Overview

Windows Search is a desktop search platform that has instant search capabilities for most common file types and data types, and third-party developers can extend these capabilities to new file types and data types.

This topic is organized as follows:

Introduction

Windows Search is a standard component of WindowsВ 7 and WindowsВ Vista, and is enabled by default. Windows Search replaces Windows Desktop Search (WDS), which was available as an add-in for WindowsВ XP and Windows ServerВ 2003.

Windows Search is composed of three components:

Windows Search Service

The WSS organizes the extracted features of a collection of documents. The Windows Search Protocol enables a client to communicate with a server that is hosting a WSS, both to issue queries and to enable an administrator to manage the indexing server. When processing files, WSS analyzes a set of documents, extracts useful information, and then organizes the extracted information so that properties of those documents can be efficiently returned in response to queries.

A collection of documents that can be queried comprises a catalog, which is the highest-level unit of organization in Windows Search. A catalog represents a set of indexed documents that can be queried. A catalog consists of a properties table with the text or value and corresponding location (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. A catalog may contain an inverted index (for quick word matching) and a property cache (for quick retrieval of property values).

The indexer process is implemented as a Windows service running in the LocalSystem account and is always running for all users (even if no user is logged in), which permits Windows Search to accomplish the following:

  • Maintain one index that is shared among all users.
  • Maintain security restrictions on content access.
  • Process remote queries from client computers on the network.
Читайте также:  How to know the windows version

The Search service is designed to protect the user experience and system performance when indexing. The following conditions cause the service to throttle back or pause indexing:

  • High CPU usage by non-search-related processes.
  • High system I/O rate including file reads and writes, page file and file cache I/O, and mapped file I/O.
  • Low memory availability.
  • Low battery life.
  • Low disk space on the drive that stores the index.

Development Platform

The preferred way to access the Search APIs and create Windows Search applications is through a Shell data source. A Shell data source is a component that is used to extend the Shell namespace and expose items in a data store. A data store is a repository of data. A data store can be exposed to the Shell programming model as a container that uses a Shell data source. The items in a data store can be indexed by the Windows Search system using a protocol handler.

For example, ISearchFolderItemFactory is a component that can create instances of the search folder data source, which is a sort of «virtual» data source provided by the Shell that can execute queries over other data sources in the Shell namespace and enumerate results. It can do so either by using the indexer or by manually enumerating and inspecting items in the specified scopes. This interface permits you to set up the parameters of the search by using methods that create and modify search folders. If methods of this interface are not called, default values are used instead.

Accessing the Windows Search capability indirectly through the Shell data model is preferred because it provides access to full Shell functionality at the level of the Shell data model. For example, you can set the scope of a search to a library (which is a feature available in WindowsВ 7 and later) to use the library folders as the scope of the query. Windows Search then aggregates the search results from those locations if they are in different indexes (if the folders are on different computers). The Shell data layer also creates a more complete view of items’ properties, synthesizing some property values. It also provides access to search features for data stores that are not indexed by Windows Search. For example, you can search a Universal Serial Bus (USB) storage devices, portable device that uses the MTP protocol, or an File Transfer Protocol (FTP) server through the Shell data sources that provides access to those storage systems. Doing so ensures a better user experience.

Windows Search has a cache of property values that is used in the implementation of the Windows Search Service (WSS). These property values can be programmatically queried by using the Windows Search OLEВ DB provider, or through ISearchFolderItemFactory, which represents items in search results and query-based views. Windows Search then collects and stores properties emitted by filter handlers or property handlers when an item such as a Word document is indexed. This store is discarded and rebuilt when the index is rebuilt.

Third-party developers can create applications that consume the data in the index through programmatic queries, and can extend the data in the index for custom file and item types to be indexed by Windows Search. If you want to show query results in Windows Explorer, you must implement a Shell data source before you can create a protocol handler to extend the index. However, if all queries are programmatic (through OLEВ DB for example) and interpreted by the application’s code rather than the Shell, a Shell namespace is still preferred but not required.

A protocol handler is required for Windows to obtain information about file contents, such as items in databases or custom file types. While Windows Search can index the name and properties of the file, Windows has no information about the content of the file. As a result, such items cannot be indexed or exposed in the Windows Shell. By implementing a custom protocol handler, you can expose these items. For a list of handlers identified by the developer scenario you are trying to achieve, see «Overview of Handlers» in Windows Search as a Development Platform.

A Shell data source is sometimes known as a Shell namespace extension. A handler is sometimes known as a Shell extension or a Shell extension handler.

User Interface

In WindowsВ Vista and later, Windows Search is integrated into all Windows Explorer windows for instant access to search. This enables users to quickly search for files and items by file name, properties, and full-text contents. Results can also be filtered further to refine the search. Here are some more features of Windows Search:

  • An instant search box in every window enables instant filtering of all items currently in view. Instant search boxes appear in the Start menu to search for programs or files, and in the upper-right corner of all Windows Explorer windows to filter the results shown. Instant search is also integrated into some other Windows features, such as Windows Media Player, to find related files.
  • Documents can be tagged with keywords to group them by custom criteria that are defined by the user. Tags are metadata items that are assigned by the user or applications to make it easier to find files based on keywords that may not be in the item name or contents. For example, a set of pictures might be tagged as «Arizona Vacation 2009» to quickly retrieve later by searching for any of the included words.
  • Enhanced column headers in Windows Explorer views enable sorting and grouping documents in different ways. For example, files can be sorted according to name, date modified, type, size, and tags. Documents can also be grouped according to any of these properties and each group can be filtered (hidden or displayed) as desired.
  • Documents can be stacked according to name, date modified, type, size, and tags. Stacks include all documents that have the specified property and are located within any subfolder of the selected folder.
  • Searches can be saved (to be retrieved later) by clicking the Save Search button in the search pane in Windows Explorer. The results will be dynamically repopulated based on the original criteria when the saved search is opened. For instructions, see Save Your Search Results.
  • Preview handlers and thumbnail handlers enable users to preview documents in Windows Explorer without having to open the application that created them.
Читайте также:  Bat файлы для linux

Technical Prerequisites

Before you start reading the Windows Search SDK documentation, you should have a fundamental understanding of the following concepts:

  • How to implement a Shell data source.
  • How to implement a handler.
  • How to work in native code.

A Shell data source is a component that is used to extend the Shell namespace and expose items in a data store. In the past, the Shell data source was referred to as the Shell namespace extension. A handler is a Component Object Model (COM) object that provides functionality for a Shell item. For a list of handlers identified by the developer scenario you are trying to achieve, see «Overview of Handlers» in Windows Search as a Development Platform.

For more information about the Windows Search SDK interoperability assembly for working with COM objects that are exposed by Windows Search and other programs that use managed code, see Using Managed Code with Shell Data and Windows Search. However, note that filters, property handlers, and protocol handlers must be written in native code. This is due to potential common language runtime (CLR) versioning issues with the process that multiple add-ins run in. Developers who are new to C++ can get started with the Visual C++ Developer Center and Windows Development Getting Started.

SDK Download and Contents

In addition to meeting the listed technical prerequirements, you must also download the Windows SDK to get the Windows Search libraries. The Windows Search SDK Samples contain useful code samples and an interoperability assembly for developing with managed code. For more information on using the code samples, see Windows Search Code Samples.

Windows Search SDK Documentation

The contents of the Windows Search SDK documentation are as follows:

Outlines the main development scenarios in Windows Search. Provides a list of handlers identified by the development scenario you are trying to achieve, add-in installer guidelines, and implementation notes.

Describes the Search API code samples that are available.

Describes WindowsВ 7 support for search federation to remote data stores using OpenSearch technologies that enable users to access and interact with their remote data from within Windows Explorer.

Lists technologies related to Windows Search: Enterprise Search, SharePoint Enterprise Search, and legacy applications such as Windows Desktop Search 2.x and Platform SDK: Indexing Service.

Defines essential terms used in Windows Search and Shell technologies.

Windows Search replaces Windows Desktop Search (WDS), which was available as an add-in for WindowsВ XP and Windows ServerВ 2003. WDS replaced the legacy Indexing Service from previous versions of Windows with enhancements to performance, usability, and extensibility. The new development platform supports requirements that produce a more secure and stable system. While the new querying platform is not compatible with MicrosoftВ Windows Desktop Search (WDS) 2.x, filters and protocol handlers written for previous versions of WDS can be updated to work with Windows Search. Windows Search also supports a new property system. For information on filters, property handlers, and protocol handlers, see Extending the Index.

Windows Search is built into WindowsВ Vista and later, and is available as a redistributable update to WDS 2.x, to support the following operating systems:

  • 32-bit versions of WindowsВ XP with Service Pack 2 (SP2).
  • All x64-based versions of WindowsВ XP.
  • Windows ServerВ 2003 with Service Pack 1 (SP1) and later.
  • All x64-based versions of Windows ServerВ 2003.

Systems running these operating systems must have Windows Search installed in order to run applications written for Windows Search. For more information, see KB article 917013: Description of Windows Desktop Search 3.01 and the Multilingual User Interface Pack for Windows Desktop Search 3.01.

Оцените статью