Full Text Search

<< Click to Display Table of Contents >>

Navigation:  Reference > Project Configuration Settings > Publishing Options > WebHelp >

Full Text Search

This section configures the Full-text Search function for WebHelp output. It includes both the options for configuring the behavior of the search function and the HTML template that defines the layout and appearance of the Search pane in your WebHelp output. See Using HTML Templates for full details.

Professional and Server version feature only:
Please note that the support for full-text search in WebHelp is only included in the Professional and Server versions of Help+Manual.

If you are using an HTML skin you must edit your templates and settings in the skin!

Nowadays you will almost always choose an HTML skin to publish your project to WebHelp or HTML Help/CHM. A skin is a special kind of Help+Manual project without topics that only stores your HTML templates and all the settings relevant for HTML output to these two formats. When you choose a skin, the templates and settings in the skin completely replace those in your project.

Normally, a skin is pre-designed and you don't need to change anything. However, if you do want to change something, you must do all your editing in the .hmskin skin file. Editing in your Help+Manual project won't have any effect because those templates and settings are not used.

To edit a skin, make a copy of the .hmskin skin file in your project folder and then open it in Help+Manual by selecting .hmskin as the file type to open in the Open dialog. All the templates and settings are in the same places as in a normal Help+Manual project.

Exception: HTML Export Options

The HTML Export Options section is not stored in skins and needs to be edited in your project.

A full web server required for testing PHP and ASP search

The PHP and ASP search modes use server-side scripting languages that make search performance much faster in large projects and also support phrasal searching, which is not possible with client-side JavaScript searching. However, because of this you need a full web server with support for PHP or ASP for these search modes, also for testing.

The mini server included with Help+Manual for WebHelp does not include PHP or ASP support and you cannot use it to test PHP or ASP search on your local computer.

How full-text search works in WebHelp

There are three different search modes you can choose: JavaScript, PHP or ASP. JavaScript works entirely in the user's browser, PHP and ASP work on the web server and require web server support.

JavaScript mode:
This mode works on any computer, even without a web server, so you can also test it directly on your local machine. It uses an index of words found in the project, together with the locations where the words are found. This means that it is not possible to search for phrases because the index only knows about the locations of the individual words.

PHP and ASP modes:
These modes work on the server and support searching for exact phrases as well as single words. They require a web server with PHP or ASP support, also for testing. Which you choose will depend on what your web server supports – ask your system administrator or web provider for advice if you are not sure. You cannot test PHP or ASP search on your local computer, you must use a web server with the appropriate PHP or ASP support (this can also be installed locally, check with your system administrator for details).

Simple Template Layout tab:

This mode is recommended if you do not have experience with editing HTML code!


This button automatically clears all your settings and the HTML template and reloads the default template. Use with caution – this function completely overwrites all your editing changes!

Text on top of Search page:

The text here defines what appears at the top of the Search pane in the WebHelp shown in the user's browser. HTML tags are allowed.

The default code inserts the title of the Full-text Search and links to TOC and Index. Please do not change this code unless you really understand how it works.

Disabled Simple Layout tab:
The Simple Layout tab will be disabled as soon as you edit source code to prevent accidental deletion of your custom code. It can only be re-enabled by clicking on the Reset Template button. This will delete the edited code and replace it with the standard template

HTML Source Code tab:

This tab allows you to see and edit all the code of the TOC template manually. Experience in editing HTML code is necessary for using this mode! Note that the code in this template is essential for the proper functioning of the TOC. Please don't change or delete anything that you don't fully understand!

Disabled Simple Layout tab:
The Simple Layout tab will be disabled as soon as you edit source code to prevent accidental deletion of your custom code. It can only be re-enabled by clicking on the Reset Template button. This will delete the edited code and replace it with the standard template

Editing window:

The editor provides full HTML syntax highlighting to make editing easier. To enlarge the window for easier editing just resize the window.


This button automatically clears the HTML template and reloads the default template. Use with caution. This function completely overwrites all your editing changes in the source code!

Applying this change re-enables the Simple Layout Tab.

Configuration options:

The configuration options for Full-text Search are quite simple but they are important because they make a major difference to how search functions. The Accent and Single-case options are particularly important for some languages.

Search platform:

JavaScript, PHP or ASP.

JavaScript works everywhere, also on local machines, and does not require web server support but does not support phrasal searches and may be slower with larger projects.

PHP and ASP require a web server with PHP or ASP support. They support phrasal searches and are considerably faster than JavaScript but they do not work without a properly-configured web server. Local testing is not possible without a local web server.

String Constants / Translation:

The String Constants table is a list of the texts that are used in the user interface of the Search function. You can edit the default texts in the Text column directly. HTML tags are not permitted here, you can only enter plain text.

BTN_Search_LoadLang BTN_Search_SaveLang
(Load / Save Constants):

In addition to editing the string constants yourself you can also load sets of constants for a variety of different languages, and save your own constants to external files.

The constants are stored in Unicode text files, so you can store your texts in any language. The files have the extension *.zlang and are stored in the \Templates\html folder in the Help+Manual program directory, which is normally C:\Program Files\EC Software\HelpAndManual6. You will find files for most common languages in this directory.

Exclude these words from search:

This list defines common words you don't want to include in the full-text search index to save space. This is an important point because the JavaScript full-text index has to be completely downloaded from your server by the user's browser before a search can be executed.

You can add your own words and delete existing words. Just click in the list and edit, and only enter one word per line. Copy and paste is supported.

Note that this list must contain at least one word. If you delete all the entries it will default to the standard entries when you save your project.

Skip words with less than ... characters:

This is another function that decreases the size of the index. Words with less then 3 characters are usually not very meaningful and excluding them from the search is generally recommended.

Word-joining characters:

The indexing function automatically treats words linked with the characters you specify here as single words. For example, if the "-" character is included here ready-mix and readymix would both be treated as the same single word.

You can edit the list to add your own characters or delete existing characters.

Enable "Sort results by date":

When this is activated users can sort the search results by score (relevance of the topic found) or date.

Search is accent-insensitive:

This converts accents and umlauts to their base characters so that the search doesn't make a difference between base characters and their accented versions.

This is strongly recommended for highly-accented languages like French and German, as it will make the searches much more effective for the user.

Support for single-case languages:

This creates a case-insensitive search index. You don't need this for western languages but it is a requirement for Asian languages. It is also helpful for languages like German in which all common nouns are capitalized.

Enable exact phrase search:

Only available in PHP and ASP modes. When this is selected users can search for exact phrases by enclosing the search phrase in quotes.

See also:

WebHelp (Help Formats)

Using HTML Templates

HTML Templates (Reference)