|
Microsoft Indexing Service is a
standard service that has shipped with Microsoft Windows operating systems in its
current guise since Windows 2000. Previously it was called "Index Server" and was
a separate product.
It trawls through files indexing
the text content in them and recording the properties of the files themselves such
as their size, last modified dates, who created them, their filenames and
more. It is capable of indexing pretty much anything from the contents of
a website to the contents of a network share.
Microsoft Indexing Service on its
own though can't really do a lot without 'I-filters'.
These are plug-ins that Microsoft Indexing Service uses to help it index each type
of file. Microsoft Indexing Service comes with a lot of I-filters as standard and
you can add more to it, like the Adobe Ifilter. You can learn about the whole Ifilter
interface by visiting the
section on MSN devoted to I-filters. As standard Windows comes with filters for almost all
office products and their associated file types, HTML files, MIME format files,
RTF / plain text files, CSV files and more.
Once the information has been collected
about a file or set of files it is then added to a Microsoft Indexing Services catalog.
Microsoft calls the process of actually adding content to the catalog's 'merging'.
The entire process is called Indexing (filtering, creating entries to add to a catalog,
then adding them to a catalog).
A catalog is actually made up of
3 things 1) the main (or master) index, 2) temporary word lists 3) any shadow index's.
A query against a catalog can actually utilise all 3 of these, although the end
user/developer would never know. To them they just submit a query and have the results
returned.
Queries are submitted using the Microsoft Indexing Service query language
either by a user constructing a query manually, or a program doing it for them.
The Microsoft Indexing Service query language
is incredibly powerful and flexible. In fact you could
say it is almost TO flexible. A normal user just doesn't stand a chance of using
it effectively. Just have a look at our guide to the
Microsoft Indexing Service query language and you'll see what we mean.
That's where a product like CISearch.Net comes in. It actually looks
as what you've entered and reformats it for you (which is completely unique to CISearch.Net,no other product does this). That way all you have to
worry about is typing in the keywords your looking for.
Of course if you want to enter an
advanced query CISearch.Net detects that you have done
this and automatically turns of its advanced query processing, allowing you
to exploit the Microsoft Indexing Service
query language manually to its full potential.
So why is querying
Indexing Service faster than searching the files themselves
Microsoft Indexing Service works
so efficiently because when it index's a file it restructures the data it collects
into more efficent form.
The word lists it creates allow Indexing
Service to query the content of well over 1GB of files in less than a second.
By default Microsoft Indexing Service
can be interacted with in 2 ways :-
1) When you search for files and
folders in an area which Microsoft Indexing Service has been set to index queries
will be resolved by searching the index instead of the actual file system.
2) You can interact with/administer
Microsoft Indexing Service by right clicking on your My Computer icon, left clicking
on manage, expanding Services and Applications then clicking on Microsoft Indexing
Service. Here you can create catalog, stop and restart catalog, add directories
to catalog's, tune the performance of Microsoft Indexing Service
and even submit queries directly against the index.
If you want to have a play with indexing
service then feel free to use our short guide to
configuring and using Indexing Service. It will show you how to set it up in a semi-useful fashion
and takes Indexing Service about as far as it can go when deployed on a workstation.
We are even compiling a selection
of useful Indexing Service web resources for those wanting to really play with indexing service.
So what's
it really capable of
While that might be quite interesting
it really doesn't even give you a glimmer of what Microsoft Indexing Service can
really do.
Imagine if you could set up Microsoft
Indexing Service on one of your servers and then have it reach out and index all
of the content on itself and other file servers. Then, what if you could let users
search that index with a web page on that server.
One that let them search with
incredibly powerful criteria (inc. file contents, filename, modified dates, author,
size, location and more), yet was very easy to use and as well as returning various
properties of each file also gave them a link they could click on to open each file
where ever it was?
Now what if it actually returned
extracts of the first 300 characters in each document? What if you could define
areas of your file system so users could restrict their search to specific areas
simply by choosing to search "Support", "Sales" etc etc.
What if it was a solution so powerful
that it actually reworked your query without you knowing, adding powerful and complicated
Index Service syntax commands to your query behind the scenes to ensure you got
the results you wanted every time?
Sounds interesting? then have a look
at CISearch.Net
If you want to have a play with Microsoft
Indexing Service from a development point of view its worth checking out the links
to Index Service related resources on the left, and then downloading the Platform
SDK from Microsoft which includes various code samples for Index Service.
Other
Information
While Microsoft Indexing service
is not totally open like open source software, Microsoft did a very good job with
the various API's that developers can use to hook into it. You can bet money that
if you want to harness indexing service in an application your developing, Microsoft
have produced an API you can use regardless of the programming language your working
with.
Indexing service also often gets
deployed on corporate intranets as well as websites on the internet (although this
is a lot rarer!). It can provide fast, powerful and accurate searching for visitors
across your website and it is well worth implementing.
As anyone who has ever looked into
document management /collaboration software will know, Microsoft Share Point (or
portal server as its being called these days) also features indexing service. In
fact its at the heart of the product. Of course it costs thousands of £'s but it
is quite good.
In our opinion though its not as
accurate, fast or easy to use as
CISearch.Net,
and CISearch.Net costs far far less.
|