Indexing Service overview

Indexing Service extracts the information from a set of documents and organizes it in a way that makes it quick and easy to access that information through the Windows XP Search function, the Indexing Service query form, or a Web browser. This information can include text from within a document (its contents), and the characteristics and parameters of the document (its properties), such as the author's name. Once the index is created you can query the index for documents that contain key words, phrases, or properties. For example, you can query all documents containing the word "product," or you can query for all Microsoft Office documents written by a specific author. Indexing Service returns a list of all documents that meet your search criteria. For information on the different ways to create a query, see Making queries.

Through a process called indexing, Indexing Service uses a document filter to read through a document and extract the text and properties to pass to the indexer. For more information about indexing, see Indexing.

Indexing Service automatically stores all the index information in the System or the Web catalogs. For more information about catalogs, see Catalogs.

Indexing Service indexes the following types of documents:

  • HTML
  • Text
  • Microsoft Office 95 and later
  • Internet mail and news (with Internet Information Services installed)
  • Any other document for which a document filter is available

Indexing Service is designed to run continuously and requires little maintenance. After it is set up, all operations are automatic, including index creation, index updating, and crash recovery if there is a power failure. For information about administering Indexing Service, see Administering Indexing Service.

Administrators and application developers can develop custom filters for other kinds of documents. For more information on developing custom filters, see the Microsoft Platform Software Development Kit.


Pause, stop, or start a catalog or Indexing Service

To pause, stop, or start a catalog or Indexing Service

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
  3. If you want to pause, stop, or start a particular catalog, in the details pane, click that catalog.
  4. On the Action menu, click All Tasks, then click the appropriate choice.

Notes

  • Instead of using the Action menu, you can click Indexing Service and use the buttons in the upper-right corner of the Microsoft Management Console (MMC) to start, pause, and stop a catalog or the entire service.

Related Topics


Configure Indexing Service

To configure Indexing Service

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
  3. On the Action menu, click Properties.
  4. In the Indexing Service Properties dialog box, on the Generation tab, select the check boxes for the choices you want:
    • If you want to index documents with unknown extensions (those for which you do not have filters installed), select the Index files with unknown extensions check box. Indexing Service extracts whatever content and properties it can from the documents.
    • If you want Indexing Service to produce abstracts of documents to present in the list of results, select the check box for Generate abstracts. In the Maximum size box, type the maximum number of characters for the abstracts.
  5. Click the Tracking tab.
  6. Select the check box for Add Network Share Alias Automatically if you want Indexing Service to use the share name of any shared directory as the alias for that directory.
  7. Stop and restart Indexing Service for these changes to take effect.

Note

Related Topics


Create a catalog

To create a catalog

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
  3. On the Action menu, point to New, and then click Catalog.
  4. Type the name of the catalog.
  5. Click Browse and select the folder in which you want this new catalog to be located. Click OK.

Notes

  • After adding a catalog, you must stop and restart Indexing Service to begin the indexing process.
  • You cannot add a catalog to a remote computer if the default administration shares on the remote computer have been removed.

Related Topics


Include or exclude a directory from a catalog

To include or exclude a directory from a catalog

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Directories.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Directories
  3. On the Action menu, point to New, and then click Directory.
  4. In the Add Directory dialog box, in the Path text box, type the path for the directory you want to add.

    Or, click the Browse button and find the directory.

  5. In the Alias (UNC) text box, type the alias for the directory, if any.
  6. If the directory you are adding is on a different computer, in the User Name text box, type the domain and user name of the user that has permission to access that computer. Separate the domain name from the user name with a backward slash (\). You must have the permissions to log on to the local computer to add the directory.
  7. In the Password box, type the password associated with the user name for the other computer.
  8. Click the Yes option button to include the directory in the catalog, or click No to exclude it.

Notes

  • If the catalog is tracking a Web server, directories are added automatically.
  • To change settings for a directory, in the details pane, double-click the directory to open the Add Directory dialog box.

Related Topics


Prevent an NTFS directory or document from being indexed

To prevent an NTFS directory or document from being indexed

  1. In Windows Explorer, select the document or folder.
  2. On the File menu, click Properties.
  3. On the General tab, click Advanced.
  4. Clear the Index Contents for Fast File Searching check box.

Note

  • To prevent FAT documents from being indexed, add the directory in which they are located to the catalog and set the Include in Catalog option to No.


View directories indexed by a catalog

To view directories indexed by a catalog

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Directories.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Directories

Note

Related Topics


Remove a directory from a catalog

To remove a directory from a catalog

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Directories.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Directories
  3. Click the directory you want to remove.
  4. On the Action menu, click Delete.

Notes

  • Removing the directory from the catalog does not delete anything from the directory.
  • You cannot remove a virtual directory.

Related Topics


Delete a catalog

To delete a catalog

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
  3. To stop Indexing Service, on the Action menu, click Stop.
  4. Click the catalog you want to delete.
  5. On the Action menu, click Delete.
  6. In the confirmation dialog box, click Yes.
  7. On the Action menu, click Start to restart Indexing Service.

Notes

  • Deleted catalogs are erased from the disk.

Related Topics


View properties cached for a catalog

To view properties cached for a catalog

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Properties.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Properties

Notes

  • If the Storage Level field for a property is blank, the property is not stored in the cache.
  • The catalog must be running (not paused or stopped) in order to display the property list.
  • To refresh the property list, on the Action menu, point to All Tasks, and then click Refresh.

Related Topics


Add a property to the property cache

To add a property to the property cache

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Properties.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Properties
  3. In the details pane, in the Property Set column, click the property ID of the property you want to add to the cache.
  4. On the Action menu, click Properties.
  5. In the Properties dialog box, select the Cached check box.
  6. In the Size box, for variable-size properties, set the size (in bytes) for the property. (You cannot change the size for a fixed-size property.)
  7. If you want the property to be stored in the primary level of the cache, in the Storage list box, click Primary.

Important

  • Making changes to the property cache can have substantial impact on the performance of Indexing Service.

Notes

  • The changes take effect the next time you start Indexing Service.
  • The Data Type list box automatically shows the appropriate data type for the property if the property is known to Indexing Service. If it is not known, VT_LPWSTR is displayed. You can choose another data type from the list.
  • Adding properties to the primary level of the cache can cause performance to slow.
  • The primary level is optimized for fixed-length properties. Avoid storing variable-length properties there because that will greatly increase the space required for the cache.
  • After you choose a storage level for a property and restart Indexing Service, you cannot change it.
  • You must rescan all indexed documents before the new properties are stored.

Related Topics


Edit a property in the property cache

To edit a property in the property cache

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Properties.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Properties
  3. In the details pane, in the Property Set column, click the property ID of the property you want to edit.
  4. On the Action menu, click Properties.
  5. In the dialog box that appears, make the changes you want.

Important

  • Making changes to the property cache can have a substantial impact on performance.

Notes

  • You can also open the Properties dialog box by double-clicking the property ID.
  • The changes take effect the next time you start Indexing Service.

Related Topics


Remove a property from the property cache

To remove a property from the property cache

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Properties.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Properties
  3. In the details pane, in the Property Set column, click the property ID of the property you want to remove from the cache.
  4. On the Action menu, click Properties.
  5. In the Properties dialog box, clear the Cached check box.

Important

  • Making changes to the property cache can have a substantial impact on performance.

Notes

  • The changes take effect the next time you start Indexing Service.

Related Topics


Check the indexing status of a catalog

To check the indexing status of a catalog

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service

Note

Related Topics


Get a list of unindexed documents

To get a list of unindexed documents

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Query the Catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Query the Catalog
  3. In the query form that appears in the details pane, type @unfiltered=true, and then click Go.

Note

Related Topics


Pause indexing for a catalog

To pause indexing for a catalog

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, point to All Tasks, and then click Pause.

Notes

  • When Indexing Service pauses, the Status column in the details pane shows Query Only. No documents are indexed while the service is paused, but queries are still processed.
  • To restart a catalog, on the Action menu, point to All Tasks, and then click Start.

Related Topics


Manually start a scan

To manually start a scan

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Directories.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Directories
  3. In the details pane, click the directory you want to scan.
  4. On the Action menu, point to All Tasks, and click Rescan (Full) for a full scan or Rescan (Incremental) for an incremental scan.

Notes

  • A full scan can be lengthy. If a full scan is necessary, do it when there is the least demand on the system.
  • Indexing Service must be running in order to manually start a scan.

Related Topics


Merge temporary indexes in a catalog

To merge temporary indexes in a catalog

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, point to All Tasks, and then click Merge.
  4. In the Merge Catalog dialog box, click Yes.

Notes

  • Indexing Service must be running in order to merge indexes.

Related Topics


Modify Indexing Service performance

To modify Indexing Service performance

  1. Open Computer Management.
  2. In the console tree, click Indexing Service.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
  3. On the Action menu, click Stop.
  4. On the Action menu, point to All Tasks, and then click Tune Performance.
  5. In the Indexing Service Usage dialog box, select the option that best fits the way Indexing Service is used on your computer.
  6. If you selected Customize, click the Customize button and proceed to Step 8. If you did not select Customize, skip to Step 11.
  7. In the Desired Performance dialog box, move the Indexing slider to Lazy for less immediate indexing or to Instant for immediate indexing of new and changed documents. Lazy indexing uses fewer resources; Instant indexing uses as much of the computer's resources as it can.
  8. Move the Querying slider to Low load if you expect to process only a few queries at a time or to High load if you expect to process many queries at a time. Low load uses fewer resources; high load uses more.
  9. Close the Desired Performance dialog box.
  10. Close the Indexing Service Usage dialog box and restart Indexing Service.

Note

Related Topics


Open the Indexing Service query form

To open the Indexing Service query form

  1. Open Computer Management.
  2. In the console tree, under the appropriate catalog, click Query the Catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
    • Query the Catalog

    3. The query form appears in the details pane.

Notes

  • The query that appears when the form is opened produces a list of documents that could not be indexed.

Related Topics


Add network share aliases automatically

To add network share aliases automatically

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, click Properties.
  4. In the Properties dialog box, click the Tracking tab.
  5. To have Indexing Service use the share name of any shared directory as the alias for that directory, select the Add Network Share Alias Automatically check box.

    Or, to use the same settings as the service, select the Inherit above settings from Service check box.

  6. For these changes to take effect, stop and restart the catalog.

Note

  • To restart a catalog, on the Action menu, point to All Tasks, and then click Start.

Related Topics


Index a Web server

To index a Web server

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, click Properties.
  4. In the Properties dialog box, click the Tracking tab.
  5. In the WWW Server list box, click the Web server you want to index. (If Internet Information Services is not installed on the computer, the WWW server control is not available.)
  6. For these changes to take effect, stop and restart the catalog.

Note

  • To restart a catalog, on the Action menu, point to All Tasks, and then click Start.

Related Topics


Index files with unknown extensions

To index files with unknown extensions

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, click Properties.
  4. In the Properties dialog box, click the Generation tab.
  5. If you want to index documents with unknown file name extensions (those for which you do not have filters installed), select the Index Files With Unknown Extensions check box. Indexing Service extracts whatever content and properties it can from the documents.

    6. Or, to use the same settings as the service, select the Inherit above settings from Service check box.

  6. For these changes to take effect, stop and restart the catalog.

Note

  • To restart a catalog, on the Action menu, point to All Tasks, and then click Start.

Related Topics


Generate abstracts

To generate abstracts

  1. Open Computer Management.
  2. In the console tree, click the appropriate catalog.

    Where?

    • Computer Management
    • Services and Applications
    • Indexing Service
    • catalog
  3. On the Action menu, click Properties.
  4. In the Properties dialog box, click the Generation tab.
  5. To have Indexing Service produce an abstract of the document in the list of query results, select the Generate abstracts check box.
  6. In the Maximum size box, set the size limit for the abstracts.
  7. For these changes to take effect, stop and restart Indexing Service.

Note

Related Topics


Catalogs

Indexing Service stores all of its index information in catalogs. A catalog comprises index information and stored properties for a particular group of file system directories. When Indexing Service is installed with Windows XP, it automatically builds a catalog, called the System catalog, listing contents of all permanently attached disk drives. The System catalog contains an index for all documents except certain system and temporary files. If Internet Information Services (IIS) is installed, Indexing Service also creates a Web catalog which contains an index of IIS, the default virtual server of the World Wide Web.

The scope of these catalogs is the set of directories that are included in them and excluded from them. You can control which directories to include in or exclude from a catalog. For each directory that you include or exclude, all of its subdirectories are also included or excluded. For more information about including or excluding directories from catalogs, see To include or exclude a directory from a catalog. For information about creating catalogs, see Creating catalogs.

Document contents

The index includes the content of each document, except for words on the exception list (such as articles, prepositions, pronouns). To view the exception list, see Exception-word list. The content of a document includes:

  • The text in an HTML document.
  • The message body of a newsgroup article or e-mail message.
  • The main body of a word-processing or other document.

The size of the index, which accounts for most of the size of a catalog, is about 15 to 30 percent of the total size of the documents that were indexed.

Document properties

Document properties represent the characteristics of the document, such as date created, author name, and size. Property values are the specific information for a particular document. Some property values are set automatically by the program that creates the document; others are entered by the user. For some documents, such as those produced by Microsoft Office, users can create their own custom properties. Authors of HTML documents can create custom properties in meta tags.

All properties and property values are indexed with the document contents and can be searched. Most properties can also be displayed in the list of search results. However, some properties, such as those in the meta tags of HTML documents, must be stored in the property cache when the document is indexed. Otherwise, Indexing Service will not be able to retrieve them for display in the results of a search. You can specify which properties are to be saved in the property cache if the default selection does not meet your needs.

To view the properties to be stored in the property cache, see To view properties cached for a catalog.

To add properties to the property cache, see To add a property to the property cache.

  • Columns in the directories details pane
  • Columns in the properties details pane


Columns in the directories detail pane

Columns in the directories details pane

The following table explains the columns in the directories details pane (right pane).

Column | Meaning
Directory List of physical directories. All documents below these directories are indexed (or excluded). Entries corresponding to virtual directories are marked with a special folder icon. There are three kinds of directories shown in the details pane:
  • Physical directories, indicated by a yellow folder icon.
  • Shadow directories, indicated by a dark yellow folder icon. Shadow directories are shared directories for which aliases are listed.
  • Virtual directories, indicated by a folder-and-globe icon. Virtual directories refer to a virtual root.
Alias | The server name and path for this directory, \\Servername\Directory_alias. The alias is returned in the list of query results to users who submit queries from a remote computer. This column may be empty.
Include in Catalog | Yes means the directory and all of its subdirectories are included in the scope of the catalog and will be indexed. No means that the directory and all of its subdirectories are not included and will not be indexed.


Columns in the properties details pane

The following table explains the columns in the Indexing Service properties as shown in the details pane (right pane) of Microsoft Management Console.

Column | Meaning
Property Set | The property number of a group of properties
Property | The hexadecimal or string ID for a property
Friendly Name | A label for a property in query restrictions and sort specifications
Data Type | The data type expected for storing the corresponding property in the cache
Cached Size | The amount of space, in bytes, allocated in the cache for a property
Storage Level | The level of the property cache (primary or secondary) in which the property value is stored


Scanning

Scanning is the process of inventorying directories to determine which documents should be indexed. Indexing Service automatically performs full scans and incremental scans when they are needed.

Full scan

A full scan takes complete inventory of all the documents in the cataloged folders and adds them to the list of documents to be indexed. Indexing Service does a full scan of disk drives attached to your computer (except for removable devices) in the following situations:

  • When it is run for the first time after installation
  • When a folder is added to the catalog
  • As part of recovery if a serious error occurs

Incremental scan

Indexing Service cannot track changes to documents when it is shut down. When Indexing Service restarts, it does an incremental scan to detect all documents that were modified when it was inactive so it can update its index.

An incremental scan may also be performed if Indexing Service loses change notifications. This can happen if the update rate of documents is very high and the buffer used to get change notifications from Windows XP overflows.

You can manually start a full or incremental scan at any time. For more information, see To manually start a scan.

Change notification

File system change notification triggers the indexing of files so that lengthy disk scans need not be performed. Whenever a document changes, the file system notifies Indexing Service that the document needs to be indexed again. However, if the document is on a remote computer, Indexing Service may not be notified of the change. In that case, Indexing Service periodically does an incremental scan of directories on those computers.


Indexing

For each document to be indexed, Indexing Service performs the following operations:

  1. Using the appropriate document filter, Indexing Service reads a document and extracts its contents and property values. It stores the property values and the path to the document in the index.
  2. Indexing Service determines the language the document is written in and breaks the content stream into individual words.
  3. Indexing Service removes words on the exception list (such as articles, prepositions, and pronouns). Each language has its own exception list. To view the exception list for American English, see Exception-word list.
  4. Indexing Service stores the remaining words in the index.
  5. Indexing Service stores values of selected properties in the property cache.

Document filters

Document filters are software components that interpret the structure of a particular kind of document, such as a Microsoft Word or HTML document. Indexing Service uses a filter to extract the textual content and property values of all cataloged documents and to send them to the indexing engine.

Indexing Service comes with filters for:
  • Documents created by Microsoft Office applications.
  • HTML documents.
  • Text documents.
  • Internet mail and news documents

Filters for documents produced by other applications may be available from the software vendors. Contact the software vendor for information about their filters. To install a document filter, follow the installation directions from the vendor of the filter.

Property cache

The property cache is a storage place for values of properties, other than file-system and ActiveX properties, that you want to display in the list of search results. There are two storage levels in the property cache: primary and secondary. The primary storage level is designed for a small number of values that are used often. By convention, it is kept small to ensure fast access to the values stored there. Values that are searched for less often should be stored in the secondary level. For a list of property values that are stored by default, see Creating catalogs.

Word lists

When a document is indexed, the index information goes first to a word list. This is a small, temporary index that contains index information for only a few documents. Creation of a word list is very quick and does not require updating of any stored data.

Because word lists are maintained in memory, Indexing Service automatically re-indexes documents in a word list whenever it is stopped and restarted.

Saved indexes

When an index is stored on disk, it is a saved index. Saved index information is stored in a highly compressed format optimized for fast response to searches and to make the best use of resources.

Merging indexes

Merging is the combining of data from multiple word lists and saved indexes into a permanent master index to efficiently resolve queries. Merging removes redundant data and frees resources, so queries are processed faster. You can always query indexed documents during this process.

Indexing Service automatically combines word lists into temporary saved indexes whenever a number of word lists have accumulated, and at least once a day. Later, it automatically combines the temporary indexes into a single master index.

You may want to manually start a merge if you make a large change to the documents included in a catalog. For information on how to start a merge, see To merge temporary indexes in a catalog.

Merging can be a long, processor-intensive process. Query execution may noticeably slow down during merging. However, after the merge, queries will be carried out much more quickly.

  • Exception-word list
  • Indexing status messages


Exception-word list

Exception-word lists are text files named Noise.xxx, where xxx is a three-letter extension that indicates the language of the list. Exception-word lists can be edited with any text-editing program, such as Microsoft WordPad.

When indexing an American English document, Indexing Service ignores the following words, letters, and numbers:

about | can | how | of | the | were
after | come | if | on | their | what
all | could | in | only | them | when
also | did | into | or | then | where
an | do | is | other | there | which
and | does | it | our | these | while
another | each | its | out | they | who
any | else | just | over | this | will
are | for | like | re | those | with
as | from | make | said | through | would
at | get | many | same | to | you
be | got | me | see | too | your
because | has | might | since | under | a b c d e
been | had | more | should | up | f g h i j
before | he | most | so | use | k l m n o
being | have | much | some | very | p q r s t
between | her | must | still | want | u v w x y
both | here | my | such | was | z $
but | him | never | take | way | 1 2 3 4 5
by | himself | no | than | we | 6 7 8 9 0
came | his | now | that | well |


Indexing status messages

The columns in the details pane (right pane) of Microsoft Management Console (MMC) give the status of the different elements of Indexing Service. The following table explains what each column means.

Column | Meaning
Catalog | The name of the catalog
Location | The path and folder name of the catalog
Size (MB) | The size of the catalog, in megabytes
Total Docs | The total number of documents indexed
Docs to Index | The number of documents waiting to be indexed
Deferred for Indexing | The number of documents that need to be indexed but cannot be because they are in use
Word Lists | The number of word lists in memory
Saved Indexes | The number of saved indexes (shadow indexes and master indexes) in the catalog
Status | The status of the catalog

The following table explains the meaning of the different types of status messages a catalog can have, and what action, if any, you should take.

Message | Explanation/Remedy
Indexing Paused (High I/O) | Indexing paused because of a high level of input/output (I/O) activity. Close some applications to reduce the I/O activity.
Indexing Paused (Low Memory) | Indexing paused because of low memory. Close some applications to make more memory available.
Indexing Paused (Power Management) | Indexing paused to save battery power.
Indexing Paused (User Active) | Indexing paused to minimize interference with user activity.
Merge | A merge is in progress.
Master Merge (Paused) | Merge paused because of low resource availability.
Stopped | Indexing of the catalog has been stopped.
Query only | The index is available only for querying.
Recovering | Indexing Service is recovering from an abrupt shutdown.
Scan required | One or more documents need to be indexed. If this message remains for more than a few seconds, check the event log.
Scanning | One or more directories are being scanned for new or modified documents.
Scanning (NTFS) | One or more NTFS volumes are being scanned for new or modified documents.
Starting | Indexing Service is starting up.
Started | Indexing Service has started.


Searching

You search for particular documents by submitting queries to Indexing Service. Indexing Service searches the index and returns a list of documents matching the criteria in your query.

You can query on document content, particular document properties, or both. You can also query any of the properties of Microsoft Office documents.

There are three ways to search in Windows XP:

  • On the Start menu, click Search.
  • Use the Indexing Service query form.
  • Use a Web page to submit a query through Internet Information Service (IIS).

Using the Search function on the Start menu

You can search for any word or phrase using the Search function on the Start menu. For more information, see To find files and folders.

Using the Indexing Service query form

A query form is included for each catalog in Indexing Service. With this form, you can run any kind of query using all of the features of the query language. To open the query form, see To open the Indexing Service query form. For information about the query language, see Making queries.

Using a Web page

For submitting queries by way of the World Wide Web, the Web master or administrator must create a Web page on which you can type the query. The page can be customized to help you enter and refine queries and search for various properties. The author of the page can specify particular catalogs to be searched. Results of the search are returned to you in a Web page.

Viewing results

Indexing Service returns a list of documents that match your query, known as a result set. Each item in the result set is a hit. Indexing Service can rank hits according to how well they fit the query, and it can sort results on multiple levels according to the value of any document property. On Web pages, the administrator can limit the maximum number of hits returned to the user. For example, a result set of 200 hits can be returned the user in 10 pages of 20 hits each.

Although you can search for any document property value, the list of results will include only those property values that are stored in the property cache or those in ActiveX documents. For information about properties, see Document properties.

In addition to returning property values, Indexing Service can produce document abstracts, which can also be returned in a result set on a Web page. For information about creating abstracts, see Creating catalogs.

If the indexed documents are stored on a local NTFS volume, access privileges determine whether a document is returned in a result set. No user will be able to see a document reference in a result set if they do not have Read access to the document.


Making queries

Using queries, you can find documents by searching for words and phrases in their contents or their properties, such as the document's name or author. The simplest kind of query is a single word. For example, if you search for "operation," Indexing Service returns all documents that contain the word "operation" in their contents.

You can also find documents that have property values that match a given criterion. The properties you can query include basic document information, such as document name and document size. You can also query on ActiveX properties, such as the document summary. ActiveX properties are stored in documents created by ActiveX-aware programs, such as Microsoft Office applications.

There are five kinds of queries:

  • Free-text queries
  • Phrase queries
  • Pattern-matching queries
  • Relational queries
  • Vector-space queries

This section contains information about the following:

  • General rules for queries
  • Contains and Equals operators
  • Boolean operators
  • Free-text and phrase queries
  • Sample queries
  • Query language forms
  • Pattern-matching queries
  • Vector-space queries


Query language forms

Indexing Service supports both long-form and short-form queries. Long-form queries are constructed using beginning and ending query tags that are indicated by braces ({ }). Query tags are used to open and close query clauses. The query tags can also include attributes or parameters to further refine the clause.

Long-form and short-form queries

Most operators in the query language have both a long form and a corresponding short form. For example, @docauthor is a short-form name of the Author property, while {prop name=DocAuthor} is the long form.

The short-form expression is compatible with earlier versions of the query language, so for your queries to work with all versions of the language, use short-form expressions in your queries. The long-form expression supports all the features of the query language. It will be the basis of future versions of the language.

Mode symbols in short-form queries

In short-form queries, the following symbols indicate mode.

Symbol | Mode
@ | Phrase query (equivalent to {phrase})
# | Regular expression query (equivalent to {regex})
$ | Free-text query (equivalent to {freetext})

Compatibility with earlier versions of the query language

The following table shows differences between version 1 and version 2 (this version) of the query language:

Feature | Version 1 | Version 2 | Notes
Vector values | Vector of three elements a, b, and c is specified as {a,b,c} | Specified as (a;b;c) | The braces ({ }) became parentheses (( )) and commas (,) became semicolons (;).
Weight specification | Weights are in the range 0 to 1,000 | Weights are in the range 0.0 to 1.0 | The range for version 2 allows for infinite resolution.
 | A weight of 100 can be attached to term T as T [100] | A weight of 0.1 can be attached to term T as {weight value = 0.1} T |
Default mode | Phrase | Freetext | A query such as Smart Dog was treated as a phrase in version 1 but is treated as a free-text query in version 2.

For more information about vectors, see Vector-space queries.

For more information about weighting, see Term weighting.

This section also contains information about:

  • Specifying property names
  • Document properties


Specifying property names

Property names can be specified in either long form or short form, as follows:

Long form | Example | Short form | Example
{prop name=name} | {prop name="Number of pages"} | @name | @"Number of pages"
 | {prop name=title} | #name | #title

The property name is not case sensitive. If it is more than one word, it must be in quotation marks in both long-form and short-form queries.

The {/prop} tag closes the property name reference. If more than one property name is used in a query, the first {/prop} closes the nearest preceding property name, and the next previous property name governs the query. For example, in the following query

{prop name=all} Excel and {prop name=size} > 1000
and < 100000 {/prop} and Microsoft

the {/prop} tag closes the tag {prop name=size}. The tag {prop name=all} does not have a closing tag.

This query finds all documents that are between 1,000 and 100,000 bytes in size and contain the words "Excel" and "Microsoft" in the contents or in any property.

There are two special property names: Contents and All. The Contents property contains the contents of the document. When you specify Contents in a query, Indexing Service searches only the contents of a document. When you specify All in a query, Indexing Service searches the contents and the property values of a document. For example, the query {prop name=all} football will return all documents that contain the word "football" in their contents and in any document property, such as the title.

If you do not specify any property in a query, Indexing Service selects the Contents property by default.

Properties available for all documents include:

Property name | Description
All | All properties, including Contents. Works only for text queries, not numeric-value queries.
Contents | Words and phrases in the document
Filename | Name of the document
Size | Document size, in bytes
Write | Date and time the document was last modified

ActiveX property values can also be used in queries. Web sites with documents created by most ActiveX-aware applications can be queried for the following properties.

ActiveX property name | Description
DocTitle | Title of the document
DocSubject | Subject of the document
DocAuthor | The document's author
DocKeywords | Keywords for the document
DocComments | Comments about the document

For a comprehensive list of document properties that you can query, see Document properties.

For general rules for making queries, see General rules for queries.


Document properties

This table contains a list of standard property names that are always available when making queries. Other property names may also be available.

For information about querying using property names, see Specifying property names.

The data types shown in the table are used for adding properties to the property cache. They are not needed for creating queries.

Friendly name | Description | Data type
Access | Last time the document was accessed | VT_FILETIME
All | Searches every property for a string. This can be queried but not retrieved. | Not applicable
AllocSize | Size of disk allocation for document | VT_I8
Attrib | Document attributes. See the Windows XP Platform Software Development Kit. | VT_UI4
ClassId | Class ID (such as Microsoft Word) of document object | VT_CLSID
Characterization | Characterization, or abstract, of document. This is generated by Indexing Service. | VT_LPWSTR
Contents | Main contents of document. This can be queried but not retrieved. | Not applicable
Created | The time the document was created | VT_FILETIME
Directory | Physical path to the document, not including the document name | VT_LPWSTR
DocAppName | Name of application that created the document | VT_LPSTR
DocAuthor | Author of document | VT_LPSTR
DocByteCount | Number of bytes in document | VT_I4
DocCategory | Type of document (such as a memo, schedule, or white paper) | VT_LPSTR
DocCharCount | Number of characters in document | VT_I4
DocComments | Comments about the document | VT_LPSTR
DocCompany | Name of the company for which the document was written | VT_LPSTR
DocCreatedTm | Time document was created | VT_FILETIME
DocEditTime | Total time spent editing document | VT_FILETIME
DocHiddenCount | Number of hidden slides in a Microsoft PowerPoint document | VT_I4
DocKeywords | Document keywords | VT_LPSTR
DocLastAuthor | Most recent user who edited document | VT_LPSTR
DocLastPrinted | Time document was last printed | VT_FILETIME
DocLastSavedTm | Time document was last saved | VT_FILETIME
DocLineCount | Number of lines contained in a document | VT_I4
DocManager | Name of the manager of the document's author | VT_LPSTR
DocNoteCount | Number of pages with notes in a Microsoft PowerPoint document | VT_I4
DocPageCount | Number of pages in document | VT_I4
DocParaCount | Number of paragraphs in a document | VT_I4
DocPartTitles | Names of document parts, such as spreadsheet names in a Microsoft Excel document or slide titles in a Microsoft PowerPoint slide show. | VT_LPSTR
DocPresentationTarget | Target format (such as 35mm, printer, video) for a presentation in Microsoft PowerPoint | VT_LPSTR
DocRevNumber | Current version number of document | VT_LPSTR
DocSlideCount | Number of slides in a Microsoft PowerPoint document | VT_I4
DocSubject | Subject of document | VT_LPSTR
DocTemplate | Name of template for document | VT_LPSTR
DocTitle | Title of document | VT_LPSTR
DocWordCount | Number of words in document | VT_I4
FileIndex | Unique ID of document | VT_I8
FileName | Name of document | VT_LPWSTR
HitCount | Number of hits (elements in the results list) in document | VT_I4
HtmlHRef | Text of HTML link (HREF). This can be queried but not retrieved. | VT_LPWSTR
HtmlHeading1 to 6 | Text of HTML document in style H1 to H6. This can be queried but not retrieved. | VT_LPWSTR
MediaEditor | Name of the document's principal editor | VT_LPWSTR
MediaOwner | Owner of the document, such as the group that licensed the document | VT_LPWSTR
MediaProduction | Date the media was produced | VT_FILETIME
MediaProject | Project to which the document's content belongs | VT_LPWSTR
MediaRating | Rating of quality or content | VT_LPWSTR
MediaSequence_No | Sequence number of the media document in the group | VT_LPWSTR
MediaSource | Name of the document's source, such as the photographer | VT_LPWSTR
MediaStatus | Status of the document in the project work flow, where 0=Draft, 1=Edit, 2=Final, 3=In Progress, 4=New, 5=Normal, 6=Other, 7=Preliminary, 8=Proof and 9=Review. | VT_UI4
MediaSupplier | Name of the source of the document, such as the party from which the document was licensed | VT_LPWSTR
Path | Full physical path to document, including document name | VT_LPWSTR
Rank | Rank of how well an item in a result list matches query criteria. The range is from 0 to 1,000. Larger numbers indicate better matches. | VT_I4
RankVector | Ranks of individual components of a vector query. The range is from 0 to 1,000. Larger numbers indicate better matches. | VT_I4
ShortFileName | Short (8.3 format) document name. | VT_LPWSTR
Size | Size of document, in bytes. | VT_I8
VPath | Full virtual path to document, including document name. If there is more than one possible path, the best match for the specific query is chosen. | VT_LPWSTR
WorkId | Internal ID for document. This is used within Indexing Service. | VT_I4
Write | Last time document was modified (written) | VT_FILETIME


General rules for queries

The following rules apply to queries of all kinds:

  • Queries are not case sensitive.
  • You can search for any word except for words on the exception list. To view the exception list for American English, see Exception-word list.
  • To use special characters in a query, (such as &, |, ^, #, @, and $), enclose your query in quotation marks.
  • Date and time values are of the form yyyy/mm/dd hh:mm:ss or yyyy-mm-dd hh:mm:ss. The first two characters of the year and the entire time can be omitted. If you omit the first two characters of the year, the date is interpreted as being between 1930 and 2029. A 3-digit millisecond value can be specified after the seconds value. All dates and times are in Coordinated Universal Time. For example, 1997/12/8 13:10:03:452

Notes

  • Dates and times relative to the current date and time can be expressed with a minus sign (-) followed by one or more integer unit and time unit pairs. Time units are expressed as: y for years, q for quarters (three months), m for months, w for weeks, d for days, h for hours, n for minutes, and s for seconds.
  • Numeric values can be in decimal or hexadecimal. Hexadecimal values are preceded by "0x."


Contains and Equals operators

Use the CONTAINS operator to search for any word or phrase within a particular property. If no operator is specified, the CONTAINS operator is assumed.

The following queries are equivalent:

@DocTitle "the red dog"
@DocTitle Contains "the red dog"

The following table illustrates the use of the CONTAINS operator in both long and short form.

Long form | Short form
{prop name=DocTitle} Contains {phrase}the red dog{/phrase}{/prop} | @DocTitle"the red dog"

A document whose title property value is "The story of the red dog" would satisfy both of these queries.

The EQUALS operator specifies that the value of the property must exactly match the word or phrase in the query. The long form of the operator is EQUALS. The short form is the equal sign (=).

For example:

@DocTitle = "the red dog"

Only a document whose Title property value is "the red dog" will satisfy this query. Indexing Service would not return a document with the title "The story of the red dog" because it contains words that are not in the query.

Notes

  • To search for the word "contains" or "equals," you must use quotation marks.
  • In Indexing Service, the query @contents = text is invalid.

For more information about queries, see General rules for queries.


Boolean operators

You can use the Boolean operators AND, OR, and NOT in both content and property queries. The Boolean operator NEAR can be used only in content queries. You can use Boolean operators in both long-form and short-form queries. For more information on long-form and short-form queries, see Query language forms.

When you use the NEAR operator in a query, a document matches the query if the words are within 50 words of each other in the document. The closer together the words are, the higher the rank that is assigned to the document in the result set. If the words are more than 50 words apart, they are not considered near enough, and the document is assigned a rank of zero. The NEAR operator can be applied only to words or phrases.

In content queries, use the NOT operator only after the AND operator. Use the NOT operator only to exclude documents that match a previous content restriction. For property-value queries, the NOT operator can be used apart from the AND operator.

The following table explains the Boolean operators and their associated symbols.

Operator | Long form | Short form
AND | AND | &
OR | OR | |
NOT | AND NOT | &!
NEAR | NEAR | Near, ~

Boolean operators are available only in English.

The following table shows some examples of the use of Boolean operators:

To search for | Long form | Short form | Result
Two terms in the same document | red and dog | red & dog | Documents with both the words "red" and "dog"
Either of two terms in a document | red or dog | red | dog | Documents with the words "red" or "dog"
One term without a second term | red and not dog | red & ! dog | Documents with the word "red" but not "dog"
Documents not matching a property value | not {prop name=size} = 100 | ! @size = 100 | Documents that are not 100 bytes
Two terms that are close together in the same document | red near dog | red ~ dog | Documents with the word "red" near the word "dog"
Either of two terms and not two other terms if they are close together | red or dog and not (black near cat) | red | dog &! (black~cat) | Documents with the word "red" or "dog" and not the words "black" and "cat" if they are within 50 words of each other

Note

  • Use quotation marks around the query phrase if it contains a word that is a Boolean operator. For example, "horse and rider" will be evaluated as a phrase, not as a Boolean expression.

Order of precedence rules

Boolean operators are evaluated in the following order:

  1. NOT
  2. AND or NEAR
  3. OR

After precedence rules are applied, operators are processed left to right. You can use parentheses (( )) to override the normal precedence. For example, the first three queries are equivalent, but the fourth is not:

a AND b OR c

c OR a AND b

c OR (a AND b)

(c OR a) AND b

In the fourth query, the OR operator is evaluated first because the expression is enclosed in parentheses.


Free-text and phrase queries

Free-text queries

With free-text queries, you can enter a group of words or a complete sentence. Indexing Service finds pages that best match the words and phrases in the free-text query. It does this by finding pages that match the meaning, rather than the exact wording, of the query. Indexing Service ignores Boolean, proximity, and wildcard operators.

You can use free-text queries to search both contents and property values. If you submit only the query text without specifying the type of query or the property, Indexing Service uses the free-text query and the Contents property by default.

The following queries return documents that contain text that most nearly matches the phrase, "How do I print in Microsoft Excel?"

Long form | Short form
{freetext} {prop name=contents} How do I print in Microsoft Excel? | How do I print in Microsoft Excel? Or $contents How do I print in Microsoft Excel

Phrase queries

To search for a phrase, either enclose it in quotation marks or precede it with the {phrase} tag. Words in a phrase query must appear in document in the order entered, with no intervening words.

The following expressions are equivalent:

{phrase} big red truck {/phrase}

"big red truck"

When the phrase tag is used, the sequence and position of the words are significant in determining whether a document matches the query. The {phrase} and {freetext} tags are mutually exclusive and cannot be embedded or nested. Phrase queries can be used to search both contents and property values.

The following table provides examples of the long and short forms of the phrase tags.

Long form | Short form
{phrase} big red truck {/phrase} | "big red truck"

Note

  • In phrase queries, words on the exception list are treated as place holders. For example, if you searched for "Word for Windows", the results could give you "Word for Windows" and "Word and Windows", because "for" appears in the exception list.


Wildcards

The simplest kind of pattern query uses a word or word fragment with a wildcard character. You can use the asterisk (*) and question mark (?) as wildcard characters in queries. The asterisk matches any sequence of characters, and the question mark matches any single character.

For example, the query esc* matches the terms "escarpment", "escape", and so on. The query r?n matches "run" and "ran", but not "ruin".

In Indexing Service, the equal sign (=) indicates that wildcard characters can be used. If no equal sign is used, Indexing Service uses the Contains operator by default.

The following table provides examples of the long- and short-form wildcard queries:

Short form | Long form | Result
@filename=*.doc | {prop name=filename}=*.doc{/prop} {prop name=filename}{regex}=*.doc{/regex}{/prop} | Any file created with a word-processing program (these have the .doc extension)
@filename=readme.* | {prop name=filename}=readme.*{/prop} {prop name=filename}{regex}=readme.*{/regex}{/prop} | readme.file, readme.
@filename=readme.??? | {prop name=filename}=readme.???{/prop} {prop name=filename}{regex}=readme.???{/regex}{/prop} | readme.doc, readme.txt


Regular expressions

Regular expressions are sets of symbols that you use to create queries to match property values in properties other than Contents and All. For a table of regular expression symbols supported by the query language, see Regular expression operators.

You cannot use the Contents and All properties with regular expressions.

The following table provides examples of the long and short forms of regular expression queries:

Short form | Long form | Result
#filename *.avi | {prop name=filename} {regex}*.avi {/regex} | Any file with the .avi extension (usually sound and moving picture files)

Note

  • If a property query contains an asterisk (*), question mark (?), or vertical bar (|), it is automatically treated as a regular expression regardless of what mode is indicated.

Sample regular-expression queries

Example | Query | Result
Group | #filename = *|(ss|,ing|).cxx | Returns all documents with file names ending with either "ss" or "ing" and having the extension "cxx."
NOT operator (^) | #filename = |[^f]*.cxx | Returns all documents with file names starting with any letter other than "f" and having the extension "cxx."
Range operator (–) | #filename = |[a-d]*.cxx | Returns all documents with file names starting with a letter in the range a through c and having the extension "cxx."
Exact-count match | #filename = *s|{2|}.cxx | Returns all documents with file names ending with exactly two "s" characters and having the extension "cxx."
At least one match | #filename = es|{1,|}.cxx | Returns all documents with file names that are combinations of the string "es" and have the extension "cxx." Files named "es.cxx" and "eses.cxx" match, but "esese.cxx" does not.
Matches between two particular variables | #filename = ci|{2,4}.cxx | Returns all documents with file names that are combinations of two to four occurrences of the string "ci" and have the extension "cxx." Files named "cici.cxx" and "cicicici.cxx" match, but "ci.cxx" does not.
Zero or more matches | #filename = c|*ss.cxx | Returns all documents with file names starting with zero or more "c" characters, ending with "ss," and having the extension "cxx." Files named "ss.cxx," "css.cxx," and "cccccss.cxx" match, but "cctss.cxx" does not.
Zero or one match | #filename = c|?ss.cxx | Returns all documents with file names starting with zero or one "c" character, ending with "ss," and having the extension "cxx." Files named "ss.cxx" and "css.cxx" match.
One or more matches | #filename = c|+ss.cxx | Returns all documents with file names starting with one or more "c" characters, ending with "ss," and having the extension "cxx." Files named "css.cxx" and "cccccss.cxx" match, but "cctss.cxx" and "ss.cxx" do not.


Regular expression operators

The rules for using regular expression operators are:

  • When making a query, the asterisk (*), period (.) and question mark (?) behave as they do in Windows. The asterisk (*) matches any number of characters. The period (.) matches end of string. The question mark (?) matches any single character.
  • Any character except asterisk (*), period (.), question mark (?), and vertical bar (|) defaults to matching itself.
  • Regular expressions can be enclosed in matching quotation marks (" "), and must be enclosed in quotation marks if they contain a space or closing parenthesis ( ) ).

When preceded by a vertical bar (|), the following characters have special meaning:

Character | Description
( | Opens a group. Must be followed by a matching closing parenthesis ( ) ).
) | Closes a group. Must be preceded by a matching opening parenthesis ( ( ).
[ | Opens a character class. Must be followed by a matching closing bracket (]).
] | Closes a character class. Must be preceded by a matching opening bracket ([).
{ | Opens a counted match. Must be followed by a matching closing brace (}).
} | Closes a counted match. Must be preceded by a matching opening brace ({).
, | Separates OR clauses.
* | Matches zero or more occurrences of the preceding expression.
? | Matches zero or one occurrence of the preceding expression.
+ | Matches one or more occurrences of the preceding expression.
All else | Matches itself.

Brackets

Between brackets ([ ]), the following characters have special meaning:

Character | Description
^ | Must be the first character. Matches everything but following classes.
] | Closes the class. May only be preceded by a caret (^).
- | Range operator. Preceded and followed by other characters.
All else | Matches itself, begins, or ends a range.

Braces

Between braces ({ }), the following meanings apply.

Character | Description
m | Matches exactly m occurrences of the preceding expression (0< m < 256).
m, | Matches at least m occurrences of the preceding expression (1< m < 256).
m,n | Matches between m and n occurrences of the preceding expression, inclusive (0 < m < 256, 0 < n < 256).

To match the asterisk (*), the period (.), and the question mark (?), enclose them in brackets. For example, to search for "hello?", type hello[?] in the query.


Alternate word-form queries

For alternate word-form queries, Indexing Service searches for alternate forms of the word you give it. Alternate forms can be either inflected versions of the query word or words that use the query word as a prefix. For example:

  • Inflected forms: Query word "swim" yields alternate forms swim, swam, and swum.
  • Prefix forms: Query word "dog" yields alternate forms dog, dogs, doghouse, dogma, and so on.

Alternate word-form queries use the Generate Method tag to specify the alternate forms of words to search for. You can use alternate word-form queries to search for both contents and property values.

The following table provides examples of long and short of alternate word-form queries:

 | Long form | Short form | Results
Prefix | {Generate method=prefix} dog {/Generate} | dog* | Words that have "dog" as a prefix, such as doggy and doghouse
Inflected | {Generate method=inflect} swim {/Generate} | swim** | Different forms of the word swim, such as swam and swum

Note

  • Prefix forms are available in all languages supported by Indexing Service. Inflected forms are not available for all supported languages.


Relational operators

You can query using relational operators to find documents whose property values match a specified relationship. For example, you can use relational queries to find all documents that are greater than 100,000 bytes or that were created on or before January 1, 1999.

The following table explains relational operators.

Operator | Description
< | Less than
<= | Less than or equal to
= | Equal to
>= | Greater than or equal to
> | Greater than
!= | Not equal to

The following table provides examples of long- and short-form queries using relational operators.

Long form | Short form | Result
{prop name=DocPageCount} >6 {/prop} | @DocPageCount>6 | Documents with more than 6 pages

Note

  • In Indexing Service, the query @contents = text is invalid because you cannot use relational queries with the Contents property.

Relational comparisons apply to the most recently specified property. The following queries are equivalent:

@DocPageCount>6AND<10
@DocPageCount>6AND@DocPageCount<10

Relational operators and vectors

When used with ordered series of values, called vectors, the relational operators are tested with corresponding vector elements. The relationship between the vectors is true (yields results) if all the individual tests pass.

Consider the two vectors:

A (a1; a2; a3)

B (b1; b2; b3)

The relationship A>B is true if and only if a1>b1 and a2>b2 and a3>b3.

If one vector has more elements than the other, the test is applied only against the matching elements. The extra elements are ignored.

AllOf and SomeOf operators

The AllOf (^a) and SomeOf (^s) operators can be used in conjunction with relational operators when performing vector property comparisons. When the AllOf operator is used, every vector element on the left side of the relational operator must pass the comparison against every vector element on the right side. When the SomeOf operator is used, at least one of the vector elements must match the comparison for the test to pass.

Consider the following:

Test | Result
(1,2,3)^a>(1,2) | The test fails because the first element on the left side is not greater than the first element on the right side.
(1,2,3)^s>(2,1) | The test passes because the third element on the left side is greater than the first element on the right side.

Bit comparison

In addition to the traditional relational operators, you can query using bit comparison operators. The AllOf and SomeOf operators allow comparing property values against a bit pattern on a bit-by-bit basis.

Operator | Example | Note
^a | @attrib^a 0x820 | In this example, Indexing Service finds only compressed documents that have the archive bit attribute on.
^s | @attrib^s 0x20 | In this example, Indexing Service finds compressed documents and documents that have the archived bit set on.


Vector-space queries

Vector-space queries return documents that match a list of words and phrases. Documents returned by vector-space queries do not necessarily match every term in the query. The rank of each document indicates how well the document matched the query.

You can assign weighting factors to control the relative importance of terms in the ranking of results. Weights can range from 0.0 to 1.0. For example, in the vector-space query light, bulb, both terms have equal weight in the ranking of results. In the query: {weight value=.3} light, {weight value=.1} bulb,
{weight value=.6} light bulb, the term "light" is three times more important than the term "bulb," and the phrase "light bulb" is twice as important as the term "light." If no weight is specified, Indexing Service uses a weight of 1.0 by default. For more information about term weighting, see Term weighting.

The following table shows examples of vector queries.

To search for | Example | Result
Documents that contain specific words | light, bulb | Documents with one or both of the words you are searching for. Documents containing both words are ranked higher than those containing only one.
Documents that contain prefixes, words, and phrases | invent*, {weight value=.3} light, {weight value=.1} bulb, {weight value=.6} "light bulb" | Documents that contain words prefixed by "invent," the words "light," "bulb," and the phrase "light bulb." Documents that contain the word "light" are ranked higher than those that contain the word "bulb," but lower than those that contain the phrase "light bulb."

Following is an example of a long-form vector-space query:

{vector RankMethod = max} {ve} {weight value=.250}class {ve} {weight value=.500}occurrence {ve} {weight value=1.000}cursor {/vector}

There is no short form for a vector-space query.

The RankMethod parameter specifies the ranking algorithm Indexing Service uses to evaluate the rank of a query match. A query vector specification must be closed with the {/vector} tag.

The {ve} (vector element) tag means that the following query specification is an element of the vector query. All the text following the {ve} tag up to the next {ve} tag is interpreted as a query. There is no closing tag for {ve}.

Example:

{vector RankMethod = "Jaccard"} {ve} {weight value=0.200} @contents CONTAINS "printers" OR {coerce} "print driver" {ve} {prop name=DocTitle} {freetext} Hewlett Packard HP laser jet printer{/freetext}{/prop} {ve} @contents hang** {/vector}.

  • Term weighting


Term weighting

You can weight query terms for relative importance by using the {weight} tag to affect the ranking of results. This tag appears before the query term and has no closing tag.

{weight value = n} query term

The value parameter specifies the relative weight assigned to the query term. This value can range from 0.0 to 1.0.

Consider the following query with weighting.

{weight value=.250}dog AND {weight value=.500}cat AND {weight value=1.000}pig

Documents that contain the word "pig" would be ranked higher than those that contain the word "cat," which, in turn, would be ranked higher than those that contain the word "dog."

If you do not specify a weight, Indexing Service uses 1.0 by default. There is no short-form expression for weighting and no close tag is specified or required.


Sample queries

The following provides examples of queries for various purposes.

To search for | Long form | Short form | Result
A specific value | {prop name=DocAuthor}= Dalal Ketan{/prop} | @DocAuthor = Dalal Ketan | Documents authored by Dalal Ketan
Values beginning with a prefix | {prop name=DocAuthor} {regex}George*{/regex}{/prop} | #DocAuthor George* | Documents whose Author property begins with "George"
Documents with any of a set of extensions | {prop name=filename} {regex}*.|(exe|,dll|,sys|){/regex}{/prop} | #filename *.|(exe|,dll|,sys|) | Files with .exe, .dll, or .sys extensions
Documents modified after a certain date and time | {prop name=write}>96/2/14 13:00:00{/prop} | @write > 96/2/14 13:00:00 | Documents modified after February 14, 1996, at 13:00 Coordinated Universal Time
Documents modified after a relative date | {prop name=write}> -1d2h{/prop} | @write > -1d2h | Documents modified within the last 26 hours
Vectors matching a vector | {prop name=vectorprop}={ 10, 15, 20 }{/prop} | @vectorprop={ 10, 15, 20 } | ActiveX documents with a vectorprop value of { 10, 15, 20 }
Vectors where each value matches a criterion | {prop name=vectorprop}>^a 15{/prop} | @vectorprop >^a 15 | ActiveX documents with a vectorprop value where all values in the vector are greater than 15
Vectors where at least one value matches a criterion | {prop name=vectorprop}=^s 15{/prop} | @vectorprop =^s 15 | ActiveX documents with a vectorprop value where at least one value is 15


Best practices

Recommended computer configuration

The minimum hardware configuration for Indexing Service is the same as for Microsoft Windows XP Server. However, the performance of the indexing and search engines depends on the number and size of documents to be indexed, the rate at which queries are submitted, and the complexity of the queries. Performance is also affected by the amount of computer resources available to Indexing Service. A computer with the minimum hardware configuration for Windows XP Server handles queries well if the number of concurrent queries is not too high. For a small organization, this might be sufficient, but for a larger organization serving many users, a more powerful configuration is recommended.

The following table shows recommended memory configuration based on the number of documents to be indexed.

Number of documents to be indexed | Minimum memory (in megabytes) | Recommended memory (in megabytes)
Fewer than 100,000 | 64 | 64
From 100,000 through 250,00 | 64 | From 64 through 128
From 250,000 through 500,000 | 64 | From 128 through 256
500,000 or more | 128 | 256 or more

If the number of documents is very large, insufficient memory will seriously affect performance. If performance is slow when Indexing Service is running, try tuning performance with the procedure To modify Indexing Service performance. You can also improve performance by adding more memory and increasing the amount of memory dedicated to mapping the property cache. A faster CPU improves the performance of indexing and the speed of processing queries.

The total size of the documents to be indexed and the type of file system you are using affects the amount of disk space required for storing Indexing Service data. On a FAT file system, the space needed for the catalog plus temporary work space is about 30 percent of the amount of text that is indexed. On an NTFS file system, the space required is about 15 percent of the amount of text indexed.

Security tips

  • Indexing Service fully respects NTFS security. As long as the catalog is on an NTFS drive, users will not see documents in the results list if they do not have permission to see them.
  • If you index a universal naming convention share, users will be able to see documents on that share in the results list, whether they have permission or not. They might or might not be able to open the documents, depending on their permissions.
  • If you put a catalog on a FAT drive, users will be able to see the catalog, whether they have permission to see the documents in it or not.
  • Indexing Service needs permission to access the documents you want indexed. On your local computer, Indexing Service uses the System account to operate. If you deny that account access to documents or directories, Indexing Service will not be able to index them.
  • Indexing Service never indexes encrypted documents. If a document is encrypted after it is indexed, it is removed from the catalog.

General usage tips

  • Do not store your catalogs in Web sites. If the catalog files are under a Web root or a virtual directory, Internet Information Service can sometimes lock the catalog files and prevent updating. This can also result in an endless indexing loop that uses up all of the processor capacity.
  • If you are using multiple catalogs, make a catalog folder on one of your drives and store each catalog in a subfolder in that folder.
  • Do not run antivirus or backup software when Indexing Service is running. Some of the programs lock files, so Indexing Service will time out while trying to index them.


Administering Indexing Service through Computer Management

When you open Indexing Service, the details pane contains a list of all catalogs on the local computer. For each catalog, it shows the following information:

  • Catalog. The name of the catalog.
  • Location. The disk drive and directory where the catalog is located.
  • Size (MB). The size of the catalog, in megabytes.
  • Total Docs. The total number of documents and directories indexed in the catalog.
  • Docs to Index. The number of documents waiting to be indexed.
  • Deferred for Indexing. The number of documents that cannot be indexed at the moment.
  • Word Lists. The number of word lists in memory.
  • Saved Indexes. The number of indexes saved on disk.
  • Status. The current status of the catalog. (For a list of status codes, see To check the indexing status of a catalog.)

When you expand a catalog, the Directories and Properties folders and the Indexing Service query form appear. When you expand the Directories folder, the details pane shows a list of all directories in the scope of the catalog, the alias for each directory, and the indication of whether the directory is to be indexed.

When you click the Properties folder, the details pane shows a list of all properties identified in all installed filters. The details pane has the following columns:

  • Property Set. The property number of a group of properties.
  • Property. The hexadecimal or string ID for a property.
  • Friendly Name. The understandable name of the property.
  • Data Type. The property's data type.
  • Cached Size. The amount of space allocated to the property value in the cache.
  • Storage Level. The cache level where the property value is stored.

For more information about properties, see Creating catalogs.

For more information about using the Microsoft Management Console, see Microsoft Management Console.

Note

  • You must have administrator permission to administer Indexing Service.


Creating catalogs

During installation, Indexing Service creates a default catalog called System. You can add and remove catalogs at any time. You can also configure existing catalogs.

If Internet Information Services is detected, Indexing Service also creates a catalog called Web. For more information about catalogs, see Catalogs.

Adding a catalog

You add catalogs with the Indexing Service snap-in. For information about how to add a catalog, see To create a catalog.

Adding and excluding directories from the catalog

After you add a catalog, you must add the directories that are to be included within the catalog's scope. This is the set of directories that it covers, both those to be indexed and those to be specifically excluded from being indexed. By default, the System catalog includes all directories on all local storage, except temporary Internet files and history files. You can add directories to a catalog's scope, and you can specifically exclude directories from being indexed. For example, suppose your local drive D has the following directories:

D:\Marketing

D:\Marketing\Personal

D:\Marketing\Miscellaneous

If you include D:\Marketing in the scope of a catalog, then D:\Marketing\Personal and D:\Marketing\Miscellaneous are also indexed. If you do not want documents in D:\Marketing\Personal to be indexed, add it to the Directories list and under Include in Index, click No.

If a directory is contained within another directory that is excluded from being indexed, the contained directory is also excluded, even if you add it to the catalog as a separate entry and under Include in Index, Yes is selected.

You can use wildcard characters to limit the scope of a catalog. For instance, you can add the following to the list of directories:

Directory | Include in Catalog | Explanation
C:\ | Yes | Include everything on drive C.
C:\Winnt\Profiles\*\ Temporary Internet Files\* | No | Exclude all documents under any folder named Temporary Internet Files under the C:\WINNT\Profiles directory.

For information on how to add or exclude directories from catalogs, see To include or exclude a directory from a catalog.

Configuring the catalog

To configure a catalog, specify:

  • Whether network share aliases are added automatically.
  • What Web server to index, if any.
  • Whether you want to index documents with unknown extensions.
  • Whether you want Indexing Service to produce abstracts of indexed documents, and if so, the maximum size of the abstract.

For more information on configuring a catalog, see Configure a catalog.

Specifying properties to save

The following property values are stored by default in the property cache of the System catalog:

Property | Friendly name | Cache storage level | Description
0x8 | FileIndex | Primary | Unique identifier of a document in an NTFS partition. This is used to track changes to documents.
0xd | Attrib | Primary | Document attributes (such as Archive, Read-Only, or Directory). These are cached to optimize queries that exclude directories (as opposed to documents).
0x5 | ----- | Primary | Volume ID. This is the unique volume identifier for NTFS volumes. It is used in conjunction with FileIndex to uniquely identify an NTFS file.
0x6 | ----- | Primary | Parent Work ID. Work ID is the internal cross-file system identifier. The parent Work ID is the Work ID of the parent directory (for example, the Parent Work ID for C:\Allwork\Reports is the Work ID of C:\Allwork). This is cached to optimize scope checking of queries.
0x7 | ----- | Primary | Secondary Storage ID. This is the ID of record in the secondary level of the property cache corresponding to this primary record. This is reserved for internal use.
0xe | Write | Secondary | Time document was last written.
0xc | Size | Secondary | Size of document.
0xb | Path | Secondary | Path name of document.
0x2 | DocTitle | Secondary | Title of document (HTML <TITLE> or ActiveX Summary Info title).

You can add other property values to be stored in either level of the cache.

Important

  • Removing a property value means that it might not be displayed in a results lists. Adding property values to either level, and especially to the primary level, can degrade performance and require a large amount of disk space.

    For information about how to save property values, see To add a property to the property cache.


Manually starting a scan

You can manually start a full scan or an incremental scan on any of the indexed directories. You should start a full scan in the following situations:

  • You installed a new filter, removed a filter, or repaired a filter's registration information.
  • You changed the size of the abstract.
  • You changed the indexing of unknown document extensions.
  • You added new word-breaker software.
  • You added a property to the property cache.
  • You changed the type or size of a property in the property cache.
  • You added a new language in Control Panel.
  • You edited an exception-word list.

Note

  • Starting a full scan results in all the documents in a catalog's scope being rescanned, which can take a long time. Queries will continue to return documents, but query speed may slow down during scanning and indexing.

For information on manually starting a scan, see To manually start a scan.


Setting the property size

Property size is the number of bytes required to store the value of the property. Properties have either a fixed size or a variable size. If you add a fixed-size property to a catalog, Indexing Service sets the correct size for the property. You cannot change the size.

For variable-size properties, you can select the size. The entire value of each selected property is stored for each document, even if it is greater than the size you set. The size you set affects the amount of disk space required for the catalog and the amount of time it takes to process a query.

There are two considerations to keep in mind:

  • If you set a large size, the catalog will require more disk space, but query-processing performance may improve.
  • If you set a small size, you will save disk space, possibly at the expense of performance.

When setting the size for a variable-size property, make the best estimate you can of the size of the property for most documents, taking into account that the property may be empty for some documents, and then set the property size slightly larger. That should ensure that most values for the property will fit in the allotted space.

You can change the property size to improve performance or disk utilization. However, each time you make a change, you must do a full scan for the change to take effect for all documents.

For information on how to set the property size, see To add a property to the property cache.

For information on doing a full scan, see To manually start a scan.


Monitoring performance

You can use the performance-monitoring capability built into Windows XP to monitor the Indexing Service. For information about using System Monitor, see Analyzing performance.

Indexing-related performance counters

The following performance counters are related to indexing and merging (under the Indexing Service object in System Monitor):

Counter name | Explanation
Index size (MB) | Total size of all the saved indexes, in megabytes
Saved indexes | Total number of saved indexes
Merge progress | Percentage of merge completed
Word lists | Total number of word lists
Unique keys | Number of unique words in the index
# documents indexed | The number of documents indexed since the current indexing session started. Note that this does not include the documents indexed in prior sessions of Indexing Service.
Documents to be indexed | The least number of documents known to need indexing
Deferred for indexing | The number of documents that need to be indexed but cannot be because they are in use.
Total # of documents | The total number of documents known to the index

The following counters are present under the Indexing Service Filter object in System Monitor.

Counter name | Explanation
Binding time (in milliseconds) | Average time (in milliseconds) to bind to a filter file
Indexing speed (MB/hr) | Speed (in megabytes per hour) at which documents are indexed. This does not include generating abstracts.
Total indexing speed | Speed (in megabytes per hour) at which documents are indexed. This includes generating abstracts.

Query-related performance counters

The following query-related counters are present under the Indexing Service object in System Monitor.

Counter name | Explanation
Running queries | The number of queries being processed
Total # of queries | The total number of queries that have been processed in this indexing session


Adjusting Indexing Service performance

You can adjust the performance of Indexing Service depending on the way you use the service. The adjustment changes the amount of computer resources that are devoted to indexing and query processing.

For information on how to modify the performance of Indexing Service, see To modify Indexing Service performance.


Indexing Service event messages

The following table lists event messages that may appear in the event log. CI refers to Indexing Service.

Message number | Message | Notes
4097 | The CI service has successfully started. | No action needed. Message appears every time Indexing Service starts.
4098 | The CI service has been shut down. | No action needed. Message appears every time Indexing Service stops.
4101 | The content index filter for file <full file path> generated content data more than <n> times the file's size. | The file <full file path> did not get indexed because it generated too much data relative to the physical size of the file. The file will appear in the unfiltered list. This may be normal, or it may be caused by a problem in the filter being used. If you verify that the problem is not caused by the filter, you can increase the amount of data Indexing Service allows per document. To do that, see the The Microsoft Platform Software Development Kit for information about setting the MaxFilesizeMultiplier registry setting.
4102 | Master merge has started on <catalog path>. | No action needed.
4103 | Master merge has completed on <catalog path>. | No action needed.
4104 | Master merge has been paused on <catalog path> due to error <error code>. It will be rescheduled later. | No action needed. Indexing Service could not finish a master merge because of <error>, but the merge will be restarted automatically. The problem is most likely a shortage of disk space.
4105 | Master merge cannot be started on <catalog path> due to error <error code>. | No action needed. Indexing Service could not start a master merge because of <error>, but the merge will be restarted automatically. The problem is most likely a shortage of disk space.
4106 | Master merge cannot be restarted on <catalog path> due to error <error code>. | No action needed. A master merge could not be restarted after a pause because of <error code>, but the merge will be restarted automatically. The problem is most likely a shortage of disk space.
4107 | The content index could not filter file <full file path>. The filter operation was retried <n> times without success. | The file <full file path> will be in the unfiltered list. This may indicate a corrupt file or a problem in the document filter.
4108 | Master merge was started on <catalog path> because the size of the shadow indexes is more than <n%> of the disk. | No action needed.
4109 | Master merge was started on <catalog path> because more than <n> documents have changed since the last master merge. | No action needed.
4110 | Master merge was started on <catalog path> because the amount of remaining disk space was less than <n%>. | No action needed.
4111 | The NTFS filter service failed with error code <error code>. | Contact Microsoft Product Support Services.
4112 | The filter service could not run since file <full file path> could not be found on your system. | Contact Microsoft Product Support Services.
4118 | A content scan could not be completed on <directory>. | Files in <directory> may be missing from the index. Manually start a full rescan.
4119 | One or more embedded files in file <full file path> could not be filtered. | No action needed. The document that was being indexed contained another embedded document for which there was no filter.
4120 | Class for extension <extension> unknown. Sample file: <full file path> | If you are indexing files with unknown extensions, this message identifies the unknown extensions.
4121 | Master merge has restarted on <catalog path>. | No action needed.
4122 | The CI filter daemon has prematurely terminated and will be subsequently restarted. | The program CIDaemon.exe has stopped, probably because it was trying to index a document for which it did not have a filter.
4123 | Content index metadata on drive <drive> is corrupt. Index will be automatically restored. Running chkdsk /f is recommended. | Metadata is corrupted. You can wait for Indexing Service to re-index the content automatically or, if you have a backup copy of the index, you can restore it.
4124 | Content index on <catalog path> is corrupt. Please shut down and restart the Indexing Service (cisvc). | Index information is corrupt and Indexing Service cannot re-index the content automatically. Stop and restart Indexing Service.
4126 | Cleaning up corrupt content index metadata on <catalog path>. Index will be automatically restored by refiltering all documents. | Metadata is corrupted. You can wait for Indexing Service to re-index the content automatically or, if you have a backup copy of the index, you can restore it.
4127 | Content index on <catalog path> could not be initialized. Error <error code>. | Contact Microsoft Product Support Services.
4128 | Error <error code> detected in content index on <catalog path>. | Contact Microsoft Product Support Services.
4129 | Recovery is starting on PropertyStore in catalog <catalog path>. | No action needed. Indexing Service found corrupt data in the property store and is attempting to correct it.
4130 | Recovery was performed successfully on PropertyStore in catalog <catalog path>. | No action needed.
4131 | PropertyStore inconsistency detected in catalog <catalog path>. | Corrupt data was detected in the property store.
4132 | <n> inconsistencies were detected in PropertyStore during recovery of catalog <catalog path>. | <n> records in the property store were found to be corrupt. Indexing Service will automatically rebuild the property store.
4133 | Very low disk space was detected on drive <drive>. Please free up at least <n>MB of space for content index to continue. | Indexing has stopped because of lack of disk space.
4134 | File change notifications are turned off for scope <directory> because of error <error code>. This scope will be periodically scanned. | This message usually results from a network problem. Try stopping and restarting Indexing Service.
4135 | File change notifications for scope <directory> are not enabled because of error <error code>. This scope will be periodically scanned. | This message usually results from a network problem. Try stopping and restarting Indexing Service.
4136 | <component> failed to log on <user name> because of error <error code>. | This usually means you have entered the wrong password for a universal naming convention catalog.
4137 | CI has started for catalog <catalog path>. | No action needed.
4138 | Content index corruption detected in component <component> in catalog <catalog path>. Stack trace is <stack trace>. | If this recurs, call Microsoft Product Support Services with the stack trace.
4139 | The path <directory> is too long for Content Index. | Paths to a catalog can be only ~250 characters long.
4140 | Notifications are not enabled on <directory> because this is a Dfs-aware share. This scope will be periodically scanned. | No action needed.
4141 | Please check your system time. It might be set to an invalid value. | Check the system time.
4142 | Added virtual root <virtual root> to index. Mapped to <directory>. | No action needed.
4143 | Removed virtual root <virtual root> from index. | No action needed.
4144 | Added scope <directory> to index. | No action needed.
4145 | Removed scope <directory> from index. | No action needed.
4146 | Account <user name> does not have interactive logon privilege on this computer. You can give <user name> interactive logon privilege on this computer using the user manager administrative tool. | Give <user name> interactive logon permission or choose a different account when you log on.
4147 | The IISADMIN service is not available, so virtual roots cannot be indexed. | Start the IIS Administration service (or figure out why it is not starting). You could also remove tracking of virtual roots from Indexing Service if you do not need IIS any more.
4148 | Delete of file "<full file path>" caused a rescan because it was potentially a short file name. Avoid use of names with the character "~" in them or disable "8 DOT 3" name creation. | Do what the message says.
4149 | Read of USN log for NTFS volume <drive> failed with error code <error code>. Volume will remain offline until the Indexing Service (cisvc) is restarted. | Contact Microsoft Product Support Services.
4150 | The CI service attempted to start up but was suppressed because the DonotStartCiSvc registry parameter was set. | Refer to the Microsoft Platform Software Development Kit for information about deleting the DonotStartCiSvc registry setting.

For information about modifying the performance of Indexing Service, see Adjusting Indexing Service performance.

For information about monitoring the performance of Indexing Service, see Monitoring performance.


Error detection and recovery

What problem are you having?

Document notifications lost

Cause: During normal operation of Indexing Service, all changes to documents are automatically tracked if the indexed directories are on NTFS or FAT volumes. If the rate of document modification is very high, it is possible to lose some notifications, especially on FAT volumes.

Solution: No manual intervention is needed. Indexing Service automatically schedules an incremental scan of the directory that lost the notifications.

Network connection dropped

Cause: If the physical location of a directory is on a remote share and the connection to the remote share is lost, Indexing Service detects this situation and scans the remote share to determine when the connection becomes active.

Solution: No manual intervention is needed.

Documents cannot be indexed

Cause: If Indexing Service detects corrupted documents or has persistent problems accessing a document, the documents are marked as unindexed. There might also be a problem with the filter used to index those documents.

Solution: You can get a list of unindexed documents by using the Indexing Service query form. If a particular type of document is consistently not being indexed, contact the vendor of that filter. For information about getting a list of unindexed documents, see Get a list of unindexed documents.

Disk full

Cause: If the partition where the catalog is stored starts to fill up, indexing is temporarily paused. If very little free disk space is available on this partition (less than 20 megabytes), Indexing Service pauses until more disk space is available. A message is written to the application event log when the partition starts filling up.

Solution: Monitor the event log for these messages and make more disk space available as required.

Corrupt data

Cause: As a result of a catastrophic event, index data may become corrupted beyond repair.

Solution: Existing Indexing Service data is deleted and all the documents are reindexed. If corruption is detected during Indexing Service startup, the reindexing happens automatically. However, if corruption is detected during normal operation, an event log message is written and no further queries are allowed. When this event is written to the event log, stop and restart Indexing Service.

When Indexing Service performs automatic recovery, an event message is written to the event log.

For more information about event messages, see Indexing Service event messages.


Administering Indexing Service

This section covers:

  • Administering Indexing Service through Computer Management
  • Creating catalogs
  • Setting the property size
  • Manually starting a scan
  • Monitoring performance
  • Adjusting Indexing Service performance


Configure a catalog

  • Add network share aliases automatically
  • Index a Web server
  • Index files with unknown extensions
  • Generate abstracts


Indexing Service overview

Indexing Service is a service that extracts the information from a set of documents and organizes it in a way that makes it quick and easy to access that information through the Windows XP Search function, the Indexing Service query form, or a Web browser. This information can include text from within a document, (its contents), and the characteristics and parameters of the document, (its properties), such as the author's name. Once the index is created, you can search, or query the index for documents that contain key words, phrases, or properties. For example, you can query all documents containing the word "product" or you can query for all Microsoft Office documents written by a specific author. Indexing Service returns a list of all documents that meet your search criteria. For information on the different ways to create a query, see Using the Indexing Service query language.

Indexing Service uses a document filter to read through a document and extract text and properties to pass to the indexer. This process is called indexing. For more information on indexing, see Indexing.

Indexing Service automatically stores all the index information in the System or the Web catalogs. For more information about catalogs, see Catalogs.

Indexing Service can index the following types of documents in several languages:

  • HTML
  • Text
  • Microsoft Office 95 and later
  • Internet mail and news
  • Any other document for which a document filter is available

Indexing Service is designed to run continuously and requires little maintenance. After it is set up, all operations are automatic, including index creation, index updating, and crash recovery if there is a power failure. For information about administering Indexing Service, see Administering Indexing Service.

Note

  • Administrators and application developers can provide support for any other document by writing to the open IFilter interface. For more information on how to implement the IFilter, see the Microsoft Platform Software Development Kit.