Fast File Searching With Indexing Service

Indexing Service

Indexing Service is part of Windows 2000 and Windows XP.  Once activated, it works in the background to maintain an up-to-date index of all the files in selected areas of the computer’s hard disk.  What makes it especially useful is that it keeps details of the content of the files as well as more mundane information like filename, date, size, etc.  As a result even when you search for a file by content the results come up almost instantly whereas without it the search can take minutes and is usually not worth bothering with.

Considering its power and usefulness, Indexing Service is a surprisingly neglected feature.  This may be because:

-  It is turned off by default.

-  The default settings are poorly chosen.

-  The search interfaces provided in Windows are clumsy and don’t do it justice.

-  The Help documentation is fragmented and not very user-friendly.

The first two issues are easy to solve and a nice new third-party interface, AimAtFile Fast File Search, takes care of the third item.  I hope these notes will help with the fourth.  All the examples have been tested on my own computer.  The fact is that you can get results from Indexing Service very easily and with hardly any performance penalty.  Indexing Service has transformed the speed and ease with which I can access my own information. 

Search Interfaces

Windows comes with two interfaces to Indexing Service already built in but a much better one is now available as third-party software.  My views on the three options are as follows, but you can easily decide for yourself by downloading AimAtFile Fast File Search for free trial from aimingtech.com

- Indexing Service Query Form is fairly rudimentary and it seems to be intended as an experimental tool rather than a practical interface.  Access is hidden away in Manage / Services and Applications / Indexing Service (right click on My Computer to see Manage) and you may need administrator privileges to open it.  There is only one entry box, so pinning a query down to a particular directory or file type involves multiple search terms plus a bit of a learning curve.  Also the format of the results makes this interface unattractive for normal use.  Nevertheless it works well enough to give a tantalising taste of what Indexing Service can do.

- Windows Search is easy to access, e.g., from Start / Search / Files and Folders, and you can activate Indexing Service from its main window.  Afterwards, and once Indexing Service has had time to index the data, search results from Indexing Service appear very quickly, followed considerably later by a second set of results produced the hard way by trawling through the hard disk.  Perhaps some users will be happy with it, but I found it confusing and restrictive.  Sometimes it gives unexpected results and some directories that I assigned for indexing remained invisible to it even though they were visible to Query Form or AimAtFile Fast File Search.  The important option of presenting the output in order of rank (see later) does not work and all the settings go back to default every time you reopen it.  The article at xpsearch describes how to use an undocumented feature to force the search to restrict itself to Indexing Service.  This works ok for some search expressions but not for more complex ones as brackets are not supported.

- AimAtFile Fast File Search nicely addresses most of the limitations of the built-in interfaces.  As well as good presentation of the output listing, it provides three separate boxes to enter the search words (Query), the type of file (File), and the root directory to search in (Folder).  You can get useful results with hardly any learning effort – just type a few words into the Query box, and perhaps a file extension into the Files box, and click Search.  One addition I would love to see in future revisions is the ability to select a group of files and delete or drag them elsewhere.  Another is the ability to view the abstracts that Indexing Service can generate.  However the current version is the first so there’s plenty of time for enhancement. 

I assume the use of AimAtFile in most of what follows.  However by using combined queries (see later) you can do all the same things with Query form instead, but at the price of more complex search expressions and poor presentation of the output listing.

Tune for Best Results

Boolean Operators

The Boolean operators are ‘or’ (‘|’), ‘and’ (‘&’), ‘and not’ (‘&!’), and ‘near’ (‘~’). They can alter a search to include or reject particular words, word combinations, or phrases. ‘Near’ only works in ‘content’ queries and can be applied only to words and phrases.

In content queries ‘not’ can be used only as ‘and not’ but in value queries it can be used on its own, e.g., ‘! @size=100’ specifies documents that are not 100 bytes in size.

The words and symbols are interchangeable, and ‘or’ is assumed between individual words in a free-text entry even when not explicitly written.

This search entry ‘computer & disk &! laptop’ will find all files that contain ‘computer’ and ‘disk’ anywhere inside a file, but excluding any containing ‘laptop’.

Using ‘near’ instead of ‘and’ will restrict hits to those in which ‘computer’ and ‘disk’ are less than 50 words apart. More than that and they are ignored. The closer the two words are in the file, the higher the rank assigned to the file in the output.

The order in which these operators appear can affect the meaning of the expression because they are always evaluated in the same order. Parts in brackets are evaluated first, followed by ‘and’ and ‘near’, and finally ‘or’. Thus the first three lines below are equivalent, but the fourth is not.

a and b or c

a & b | c

c or a and b

c | a & b

c or (a and b)

c | (a & b)

(c or a) and b

(c | a) & b

A Boolean expression can include a phrase as in:

‘pc and ("hard drive") and not (laptop or desktop)’.

The brackets round the phrase are not essential but missing out the second bracket would alter the meaning completely.

You don’t have to do it, but if you address the three items below Indexing Service will require less computing resources than if you stick with the default settings.  All this is easy to do and details are available at xefteri.com and pcworld.com

- Use the tune-up option in Indexing Service and set the ‘Indexing’ slider to maximum.  This way the index is updated immediately a file is saved or deleted.  Otherwise it gets scheduled for later when the computer is idle.

- By default Indexing Service monitors nearly all the files on the computer.  This wastes resources.  It makes sense to restrict monitoring to the folders that you want to search in, such as My Documents.

-  Leave the option to ‘generate abstracts’ unselected  (Indexing Service on Local Machine / Properties).  There’s no need to waste resources on abstracts because there seems to be no way to access them with the available interfaces.  But if AimAtFile Fast File Search ever gets a ‘preview pane’ that can display the abstract of the selected file, this is where you would come to turn on abstract generation.

- If your file system uses FAT or FAT32 consider changing to NTFS.  Indexing Service works best with NTFS because there’s less work for it to do and the catalogues use less disk space.

Basic Searches Are Easy

Free-Text Search

The simplest searches involve ‘free-text’ and ‘phrase’ queries.  In the first you enter one or more words into the Query box.  In the second you put them in quotation marks.  Either way, if you want to further qualify the search and restrict it to files from say Microsoft Word, then you can enter the file extension, ‘doc’ in this case, into the Files box.

When you type a string of words without quotation marks into the Query box and click Search, the following things happen.

- Indexing Service first discards any words that are on a list of ‘noise words’.  These are listed in Help and include such relatively uninformative words as ‘about’, ‘for’, ‘them’, ‘how’ as well as single letters and single numerals.  The words ‘or’, ‘and’, ‘and not’, and ‘near’ are special.  If they appear between other words they behave as Boolean operators (see box), if not they are treated as noise words.

- The search then looks for files that contain as many as possible of the remaining words together with their extended or inflected versions.  An example of extensions is that if you enter ‘dog’ it will also look for ‘dogs’ and if you enter ‘dogs’ it will also find ‘dog’.  An example of inflections is if you type in say ‘flew’, you will get hits from files containing any of ‘fly’, flew’, ‘flies’, or ‘flown’.  It doesn’t matter which of the possible inflections you enter, the full set are used in the search.

- Each file in the output is assigned a numerical ‘rank’ proportional to how well it matches the query.  This is a useful feature (especially when the operator ‘near’ is used) because if you set AimAtFile Fast File Search to order its output in ‘rank descending’ you get to see the most relevant results first.  [Indexing Service Query Form can also do this.  Search Assistant claims to do it but the feature doesn’t work].

Phrase Search

When you enter a phrase (a string of words surrounded by double quotation marks), and click Search, the search goes as follows.

- Indexing Service discards noise words and puts placeholders there instead.

- Boolean operators inside a phrase are treated as noise words.

- The search then looks for files containing a text string that includes every entered word in the same order, and that has a word (any word) in each placeholder.  Extensions and inflections are ignored – after all, the whole point of a phrase is to specify exactly what you want.

For example, the entry ‘"indexing service"’ will find only files that contain ‘indexing’ immediately before ‘service’.  Likewise ‘"computer indexing service"’ will find just those three words in that specific order.  If the phrase contains a noise word like the ‘and’ in ‘"computer and service"’, hits will include such as ‘computer indexing service’ and others with any other word substituted for ‘and’.  In effect noise words in phrases behave as wildcards standing for ‘any word’.

- To mark a phrase it is important to use “double” quotation marks not ‘single’ ones.  The latter are just ignored.

Constructing Short-Form Query Expressions

The simple searches described so far looked for items in the contents of files.  However ‘contents’ is only one of many searchable ‘properties’.  Five others are listed below but there are many more (see Help).

 

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

 

We now look at four basic kinds of query that Indexing Service can apply to these properties: free-text queries, phrase queries, pattern-matching queries, and relational queries.  (Vector-space queries are outside the scope of this article but are described in Help). 

The general procedure is to write one or more so-called ‘short-form’ queries and combine them together with Boolean operators into a single expression.  Each query defines a particular way to search within a particular ‘property’. 

A short-form query looks like ‘#filename = *.doc’ and contains the four basic sections shown in the diagram and which are described in more detail below.

 

Mode

Property

 

The ‘Contains’ or ‘Equals’ Operator

 

Input

($, @, or #)

The Property in which to search

(e.g., Contents, Filename)

space (optional)

(‘ ’, or ‘=’)

[or a relational operator e.g. >].

space (optional)

Item(s) to search for, such as a string of words.

[or the target data for a relational operator]

Mode

Wildcards

In suitable expressions the asterisk (*) can represent ‘any or no characters’ and the question mark (?) can represent ‘any single character’.

For example, in a regular expression aimed at looking for filenames, ‘*.???’ would stand for ‘all possible filenames with a three-letter extension. This is the same usage that’s already well established with dos expressions in Windows.

This symbol specifies whether the input is treated as free-text ($), a phrase (@), or a regular expression (#).

-  Free-text is a series of words, and the search finds documents where the specified property contains one or more of the input words (or their extensions and inflections) in any order, but not necessarily all of them.

-  A phrase is a series of words in a specific order and the search looks for these exact words in the exact same order.  With free-text and phrase queries, any wildcard symbols (see box) in the input are ignored if the ‘contains’ operator is applied but they behave as wildcards if the ‘equals’ operator is used. 

-  A regular expression is a set of symbols comprising letters, numbers, wildcards, and/or Boolean operators.  For the really serious searcher there are also various other operators that will not be considered further here – more details are in IS Help.  If the input contains ‘*’, ‘?’, or ‘|’, a short-form query not involving ‘contents’ or ‘all’ gets treated as a regular expression regardless of what mode is indicated.  

Property

Of all the properties, ‘contents’ and ‘all’ are special in that they cannot be searched using a regular expression query.  This means that an expression containing ‘#contents’ will be rejected as an error.  The same happens with ‘$contents =’ and ‘@contents =’ but here the reason is that relational operators (=, <, >, etc.) cannot be used with ‘contents’ or ‘all’.

Contains or Equals

Operator

Description

<

Less than

<=

Less than or equal to

=

Equal to

>=

Greater than or equal to

>

Greater than

!=

Not equal to

If the ‘equals’ operator appears, to register a hit the value of the property must be the whole word or phrase and nothing but the word or phrase.  On the other hand, the ‘contains’ operator requires only that the search word or phrase appears somewhere within the value.  For example, ‘@filename= readme*’ would find the file ‘readme.doc’ but not ‘backup of readme.doc’.  In contrast, ‘@filename readme.*’ would find both.

- The ‘contains’ operator need not be explicitly written.  Its presence is assumed if the space is left blank.

- With properties such as ‘size’ and ‘write’ all the other relational operators besides ‘equals’ can be used.  They are listed in the table. 

Input

With free-text and phrase queries, the input will be the words or phrases to be searched for.  ‘Words’ are groups of letters and/or numbers.  When relational operators are used the input will contain a number or an expression.  For example ‘#size > 100000’ will find files bigger than 100,000 bytes, and ‘#size>1000000 & <2000000’ will find files between 1 and 2 megabytes.

- If the ‘equals’ operator appears, wildcards can be used.  If not, they are ignored (or occasionally do something unexpected).  Thus Indexing Service treats ‘@filename *.txt’ as if it were ‘@filename txt. 

- If the ‘contains’ operator appears, only words and numbers are recognised and Boolean operators and single letters or numerals are treated as noise words. 

Special Cases

To help to minimise any confusion about what can be used with what in short-form expressions, here is a summary of the important special cases mentioned in Help. 

- The relational operators (=, <, >, etc.) cannot be used with ‘contents’ or ‘all’.

- ‘Contents’ and ‘all’ cannot be searched using a regular expression query (#). 

- If ‘=’ is present, wildcard characters can be used.  (This will never happen when the property is ‘contents’ - see first item above).

- With free-text and phrase queries ($ and @), only words and numbers are recognised.  Boolean operators, proximity operators, and wildcards are ignored. 

- If a short-form query not involving ‘contents’ or ‘all’ contains ‘*’, ‘?’, or ‘|’ it is automatically treated as a regular expression regardless of what mode is indicated.

It seems best to leave wildcards out of free-text queries entirely and leave them out of phrase queries except when ‘=’ is present.  This avoids uncertainty about how they will be interpreted by expressions that don’t expect them (as in the last two items in the table).

For anyone who is interested, this table shows how these rules worked out when I tested real examples.

Written As

Behaves As

Reason

$contents=anything

error

‘contents’ (and ‘all’) cannot use relational operators

@contents= anything

error

ditto

#contents anything

error

‘contents’ not usable with #

@filename=*.fax

#filename=*.fax

‘*’, ‘?’, or ‘|’ turns $ or @ into # 

@filename *.fax

@filename fax

wild cards ignored with @ since no ‘=’

@filename fa?

@filename fa

ditto

@filename *doc

@filename doc

ditto

@filename *doc*

@filename doc

ditto

@filename= *fax*

@filename *fax*

#filename *fax*

#filename= *fax*

Presence of ‘*’ makes @ become #

@filename *d?m*.*

error

Wild cards are ignored with @ since no ‘=’, since single letters count as noise words, this means that no words are left.

The examples below seem to break the rules

@filename com*

#filename *com*

#filename= *com*

(Finds command as well as *.com)

Property not ‘contents’ therefore ‘*’ should turn it into ‘#filename fax*’ but doesn’t.

 

$filename= *.fax

$filename *.fax @filename *.fax

Property not ‘contents’ therefore the ‘*’ should turn it into #filename= *.fax but it doesn’t.  It behaves as if the ‘=’ is removed as well.

Single Queries

As discussed already, typing ‘how do I enter a search query’ into the Query box would define a ‘free-text’ type of search that would attempt to find any or all of the seven words.  We can now see that an alternative short-form query for this would be ‘$contents how do I enter a search query’. 

Putting inverted commas around the same group of words is equivalent to entering the phrase query ‘@contents how do I enter a search query’.   As discussed earlier, and allowing for the noise words, this will retrieve phrases like this: “<any word> <any word> <any word> enter <any word> search query”.

The fact that you can get these results just by typing in the search words themselves means that the full short-form versions of queries using ‘contents’ are seldom required.

Combining Queries

Earlier we discussed the effect of entering ‘computer and disk and not laptop’ into the Query box.  We can now see that, written out in full using short-form queries, this would become ‘($contents computer) and ($contents disk) and not ($contents laptop)’.  When separate queries are combined like this: 

- The Boolean operators between the separate expressions are not optional; they are essential and if missed out will cause an error message.  ‘Near’ is not appropriate here so the options are ‘and’, ‘or’, and ‘and not’. 

- If there is any possible ambiguity each expression has to be enclosed in brackets.  If not, you can leave out one or more sets of brackets as appropriate, but ambiguities are easy to miss and you only need to miss one or two to wipe out any time saved through abbreviating. 

- Provided you enclose it in brackets, one or more of the expressions can be a simple word string or phrase such as you might type directly into the Query box on its own. 

Here’s an example:  ‘(#filename = *printer*.d??) &! (laser)’.  The first part is a regular expression query that looks for files where the filename contains the word ‘printer’ with any or no text on either side of the word and where the extension is any three letter word beginning with ‘d’, such as ‘doc’ or ‘dot’.  The second part does what typing just ‘laser’ into the entry box would do – it looks for files that contain the word ‘laser’.  The combined expression lists files that match the first query, but not if they also match the second.  Replacing the contents of the second brackets with ‘$contents laser’ would give the same result. 

Here’s an example of a phrase in a combined expression:  ‘(#filename = *printer*.d??) & (“colour laser printer”)’.  Again the second section acts in the same way as if it were the only item in the entry box.  In this case replacing the contents of the second brackets with ‘@contents colour laser printer’ would give the same result. 

In both of these examples you can miss out one pair of brackets but not both.

‘Files’ and ‘Folder’ Boxes In AimAtFile Fast File Search

Using the Query Form in Indexing Service you always have to write dual queries when you want to search in two properties (say content and filename), or triple ones if you want to add a third (say root folder).  The fact that AimAtFile has a separate box for each of these three items makes it much easier to use. 

As an example, to do the same search as in the previous example, ‘(#filename = *printer*.d??) & (“colour laser printer”)’, you would just type ‘”colour laser printer”’ into Query and ‘*printer*.d??’ into Files.  If you wanted to specify a root folder as well, you would either type it in directly or enter it using the browse facility.

The three boxes work like this: 

- First the contents of the Query box (just as written) and the contents of the Files boxes (processed as below) are combined to get the query expression ‘(Query entry) & (processed Files entry)’. 

- If the Folder box is empty, that’s it.  If not, the contents of Folder are used as a ‘Scope’ property and combined into the Indexing Service search using the AddScopeToQuery method.

A conceptually simpler way to do this would be to include the Folder specification using a short-form expression such as ‘& (@directory = *\personal\family)’.  However the AddScopeToQuery method is more general especially where a LAN is to be searched.  Details of AddScopeToQuery are beyond the scope of this article but more information is available in the MSDN Library.  Examples 6 and 7 below demonstrate the use of ‘@directory’.  

The ‘processing’ for the Files box works like this:

- If Files contains one or more file masks separated with Boolean operators, they are automatically incorporated into one or more regular expressions like ‘#filename= filemask’ separated by the same Boolean operators.  Thus the entry ‘*.txt or *.doc‘ becomes ‘(#filename= *.txt) or (#filename= *.doc)’.

- If Files contains short-form expressions, they are used without alteration.  (This means that whenever you are writing short-form expressions, singly or in combination, it actually makes no difference whether you type them into Query or Files, or whether you split them between the two boxes).

Note

1.       If Query and Files are both empty nothing happens when you click Search.  This matches the behaviour of the Indexing Service Query form.

2.       If Files contains an entry, but not otherwise, the extra query ‘& (#size>0)’ is automatically added to the combined query.  Although this places no practical restrictions on what files will be retrieved it overcomes the bug described below in ‘Undocumented Surprises in Indexing Service’.

Examples of Multiple Queries

The following examples highlight various formats that might be useful.  Each one introduces an extra type of expression and/or a modified form of a previous one.  Remember to use brackets where necessary to avoid ambiguities.

1.       ‘Laptop & computer’.  This finds files containing both ‘Laptop’ and ‘computer’. 

2.       ‘(Laptop near computer) & @write > 2003/2/14 13:00:00’.  This finds documents containing ‘laptop’ and ‘computer’ (if less than 50 words apart) and which were modified after February 14th 2003, at 13:00 Coordinated Universal Time

3.       ‘(Laptop near computer) & (@write > 2002/1/1 & < 2003/1/1)’.  This finds documents containing ‘laptop’ and ‘computer’ (if less than 50 words apart) and which were modified between January 1st 2002 and January 1st 2003. 

4.       ‘(Laptop and computer) & @doccreatedtm < 00/2/14 & @size <= 100000’.  This finds documents containing ‘laptop’ and ‘computer’ and which were created before February 14th 2000, and are less than or equal in size to 100,000 bytes.

5.       ‘(Laptop ~ computer) & @write > -1y & (@size < 100000 | > 300000)’ This finds documents containing ‘laptop’ and ‘computer’ (if less than 50 words apart), modified within the past year, and which are less than 100,000 or greater than 300,000 bytes in size.   You can also write this out the long way if you want:  ‘(laptop ~ computer) & @write > -1y & (@size < 100000 | @size > 300000)’. 

6.       ‘(Laptop ~ computer) & (@write > -12m & <-6m) & (@size < 100000 | > 300000) & @directory= *pe*’.  This finds documents containing both ‘laptop’ and ‘computer’ (if less than 50 words apart), modified between twelve and six months ago, and which are less than 100 or greater than 300 kilobytes in size, and where the physical path contains a directory with ‘pe’ as part of the name (e.g., ‘personal’ or ‘spec’). 

7.       ‘(Laptop | computer) & @write > -300d & (@size > 1000000 & < 1800000) & @directory= *\personal\fam*’.  This finds documents containing either ‘laptop’ or ‘computer’, modified within the past 300 days, between 1 and 1.8 megabytes in size, and which are in any subdirectory of \personal\ that begins with ‘fam’ (e.g., family).  [NB. You must use the backslash with @directory – a forward slash won’t work].

Searching for Filenames

The following examples work fine in the Query box of either Query form or AimAtFile Fast File Search.  However with the latter it’s easier to put the filename mask(s) directly into the Files box leaving the rest to go into the Query box.

These examples focus on the filename part of the search.  Remember that any other expressions can also be added as well provided they are suitably bracketed and separated by ‘and’, ‘or’, or ‘and not’ as appropriate. 

Examples of Filename Searches

1.       ‘#filename= *.doc’.  This will retrieve all files that have ‘doc’ as the extension.

2.       ‘(#filename= *.doc) & (computer)’.  This finds all doc files that contain the word ‘computer’.  [This expression requires at least one set of brackets].

3.       ‘(#filename= *.d??)  & ("all rights reserved")’.  This finds documents with extensions like dot or doc that also contain the phrase “all rights reserved. [This expression requires at least one set of brackets].

4.       ‘(#filename= *.d?? or  #filename= *.t?t) & ("all rights reserved")’.  This finds all files containing the phrase and with extensions that match t?t (such as txt) or d?? (such as doc or dot). 

5.       ‘(#filename *.|(d??|,t?t|)) & ("all rights reserved")’.  This is a concise (but cryptic) way of writing the previous example using the more advanced style of regular expression mentioned in ‘Mode’ earlier.  Refer to Help for details. 

6.       ‘(#filename= *.doc) & (computer) & (laptop) or (#filename= *.txt) & (computer ~ tandon)’.   This finds doc files containing both the words ‘computer’ and  ‘laptop’ anywhere in the file.  It also finds txt files containing ‘computer’ and ‘Tandon’, but only if they are less than 50 words apart. 

7.       ‘#filename= doc*’.  This finds any file where ‘doc’ appears as the first letters in the complete filename, e.g., ‘document collection.txt’. 

8.       ‘@filename doc’.  This finds any file where ‘doc’ appears as a discrete word anywhere in the filename or extension, e.g., ‘list of doc files.wbk’.

Undocumented Surprises in Indexing Service

Indexing Service occasionally plays ‘jokes’ like these.  The ‘Hint’ below explains how to overcome them.

- If ‘#filename= *print*.txt’ is the only entry, it works fine but change it to ‘#filename= *printer*.tx?’ and no files are found at all (which can be a shock if you know they are there).  Adding another query to search in a second property as well will usually make it work as expected – see Hint. 

- When there are no other entries ‘#filename= *print*.txt’ and ‘#filename= *print*.doc’ work fine when used alone, but if you combine them into the expression ‘(#filename= *.txt) or (#filename= *.doc)’, or its equivalent ‘#filename *.|(doc|,txt|)’, no files are found at all.  Adding a second entry works here as well – see Hint.

- In contrast, ‘@filename *.txt’ and ‘@filename *.doc’ work fine either alone, or when used together in the expression ‘(@filename *.txt)  or (@filename *.doc)’.

Hint :  If you are using Query form and you get the false result ‘no files found’, try adding ‘& #size>0’ to the combined search term.  This seems to bypass the above problems yet adds no effective restriction to the search.  (AimAtFile Fast File Search applies this trick automatically).

Where to Find More Information

The aimingtech.com website is an excellent useful source of information about Indexing Service and includes details of how to tune it for best results.  So does the article at xefteri.com where the author rightly comments, ‘documentation on <indexing service> is amazingly scarce and scattered.’  Although aimed mainly at users setting up Indexing Service for indexing a website, the detailed screenshots and general information apply equally well to anyone wishing to tune it for their own purposes. 

An article at PC World contains a useful guide to how to start Indexing Service and to make it focus on the files you need.  More useful information on this aspect appears at xefteri.com.

Although the treatment is incomplete, the article at xpsearch contains useful information about how Indexing Service relates to XP Search Assistant.  The author describes what seems to be an otherwise undocumented trick of forcing Search Assistant to restrict itself to Indexing Service by putting an exclamation mark before an entry in the Containing Text window. 

Most of the published material on how to actually use Indexing Service to do searches seems to be intended for developers rather than users.  Most of my information came from the Help files in Windows XP together with lots of experimentation using a small set of carefully selected files. 

You can easily access Help for Indexing Service by clicking on the logo at the top left of the AimAtFile search window and selecting Indexing Service Management.  Otherwise you need to right click on My Computer and select Management, etc. 

Amplification of certain points came from the Microsoft MSDN Library.  A search for ‘Indexing Service’ or ‘Computer Indexing Service’ at the same site will bring up further specialist information.

 

David Tong, Leeds, UK.
After ten years of academic research in chemistry, the author spent the next two decades running his own specialist electronics company. Nowadays when not playing with computers he plays the accordion. He has no formal connection with AimingTech.

Copyright © 2003, All rights reserved
If you want to to publish this article electronically or in print you should contact the author.
 

Copyright © 2001-2006 AimingTech Company, All rights reserved. Terms and Conditions.
All trademarks referred on this page are the properties of their respective owners.