Getting started with findinsite-ms
findinsite-ms is a search engine for a web site or Intranet.
It runs on an ASP.NET based web server, eg Internet Information Services (IIS) on a Microsoft Windows Server,
or "Microsoft Hosting" packages on shared hosts.
- Please make sure that ASP.NET is available, with the .NET framework 2.0 or later.
If you want a version that runs ASP.NET 1.1, please contact us.
You can test findinsite-ms on your own computer if you are running Windows XP Pro
with IIS 5 and the .NET framework installed (or Windows Vista with "Internet Information Services" including
Let us know if you want access to an example online installation.
WARNING: if running findinsite-ms on your own computer, then indexing seems to
occasionally hang up if you are also running Visual Studio.NET - the hangs only seem to occur if the web site
redirects page URLs.
- Try findinsite-ms online
- Try out an
online search using findinsite-ms.
This search page should automatically use your preferred language, provided that it is
one of the currently supported languages.
Try out various searches to confirm that findinsite-ms meets your requirements.
Check out the highlighting of search words in hit web pages.
- findinsite-ms also has a Search API - an XML web service that lets a programmer
talk to the search engine direct. The
search API description online
has links to various examples to try out.
The best way to try out findinsite-ms is to download the development kit and
run it on a test system, eg on your computer.
However if you want access to an example installation then email sales/support.
- Get findinsite-ms
- Install findinsite-ms
- The Installation instructions tell you how to install
findinsite-ms locally on your own computer,
or on a shared server.
It is usual to install to a new directory in the web site root called
- You may need to set the file permissions for the
'work' directory used by findinsite-ms to store
information. Also - check that the 'work' directory is in a suitable location.
Note that you may also want to change the IIS permissions so that the work directory cannot be read by direct
browser requests - see here for details. If this is not
possible, please store your password and license id in the
Web.Config file -
as described here.
- Check findinsite-ms runs OK
findinsite-ms should now respond at URLs similar to these:
http://www.example.org/findinsite/default.htm - documentation
http://www.example.org/findinsite/search.aspx - search page
http://www.example.org/findinsite/config.aspx - control panel
http://www.example.org/findinsite/SearchService.asmx - Search API web service
For example, if you have installed on your own computer, the Control Panel should be at this URL:
If you installed the full development kit directory, then findinsite-ms
should search its own documentation and show results correctly.
If you see a screen that starts like this then you probably need to mark the
directory as an application:
Server Error in '/' Application.
If the findinsite-ms Control Panel responds, but says that it cannot
use its work directory, then you probably
need to set the file permissions.
- Search your web site
The indexing instructions tell you how to use
the Control Panel to:
- Create a regular indexing run to index your site to build a search database.
- Tell findinsite-ms to use this search database.
Then try out searching your web site using findinsite-ms.
Add links or a form from your web site to call findinsite-ms.
Email sales/support to ask for a
Temporary License to release all Free license limitations.
- Advanced configuration options
- Alter the look and feel, eg hits-list results, using template files.
- If you want to fine tune the hits-list, use the
Search API to get the results and format or reorder as you wish.
- Customise word highlighting in web pages.
- You can search more than one search database - add to the list in the Control Panel
Searching section. You can set up search forms
that let the user choose which search database subsets to use.
- Use a meta-data fields search.
- Add more languages to the findinsite-ms user interface.
Please let us have a copy of any new language files.
- Change the Web.Config parameters for findinsite-ms.
- Go live on your main web server
- Buy a findinsite-ms license.
- Follow the above instructions again to install and configure findinsite-ms
on your server.
- Test findinsite-ms on your web site.
- Add links or forms from your web site to call findinsite-ms.
- Make sure that you have set up a regular indexing run to keep the search database up to date with any changes on your web site.
Load balanced servers
A load balancing web server farm/cluster spreads incoming requests between several physical servers to share
the load to respond quickly to the requests that arrive.
findinsite-ms may need to be set up carefully to run correctly on a server farm.
If each physical server is completely independent and can index its own site/URL correctly, then findinsite-ms
will run fine on each separate server.
The simplest solution for web server farm running is to turn off file replication for the findinsite-ms
work directory for each physical server instance, so each findinsite-ms runs independently.
There are other possible solutions. Please read the following rules to understand how findinsite-ms runs:
findinsite-ms application start timings:
- findinsite-ms reloads its entire configuration and search databases whenever it starts or restarts.
IIS worker process recycling will typically stop findinsite-ms at some stage, eg after
a certain length of time, number of hits, etc. findinsite-ms will only restart when a user makes a request.
You can also set up a keep-alive request to ensure that findinsite-ms is always restarted promptly.
Now consider main configuration of findinsite-ms:
- findinsite-ms loads its main configuration into memory at startup from file
in the work directory; any configuration changes done by the user are stored in the configuration file.
The configuration file is also updated when each indexing run is completed.
- The main configuration file is never checked for updates and reloaded.
Next, consider how findinsite-ms uses its search databases:
- findinsite-ms stores loads the current search databases (partially) into memory at startup from the search database
files. (For each named search database
site, two file sets are usually stored:
site_. When a search database is re-indexed, the newer one, eg
site_ is untouched,
and the other one, eg
site is rebuilt.)
A search database is reloaded when an indexing run is complete.
- (From version 1.68) findinsite-ms checks every hour to see if any of its loaded search databases have been updated.
If so, then it reloads the relevant search databases.
In normal running, this should never happen as a search database is reloaded after each indexing run.
However, if the search database is copied in from elsewhere, then this process ensures that the latest search database