DataparkSearch Engine 4.53: Reference manual
Prev | Chapter 8. Searching documents | Next

# 8.2. `mod_dpsearch` module for Apache httpd

Since version 4.19 DataparkSearch also provide the `mod_dpsearch.so` module for Apache web server.

## 8.2.1. Why using `mod_dpsearch`

- As for searchd (see Section 5.4.1>), mod_dpsearch can hold preloaded in memory some data to speed-up searches.

- In additional, mod_dpsearch hold in memory last used search template. This save time on template loading and parsing for every request since second.

- As a plus, the mod_dpsearch itself already loaded into memory when search request come from user, while search.cgi usualy loads from disk for every search request.

## 8.2.2. Configuring `mod_dpsearch`

To enable this extension, add `--enable-apache-module` switch to configure. In addition, the `mod_dpsearch.so` shared library will be created and installed into Apache tree. Then you need activate this module by adding following line into Apache configuration file:

    LoadModule dpsearch_module       libexec/mod_dpsearch.so
    AddModule mod_dpsearch.c

    <Ifmodule mod_dpsearch.c>
    DataparkSearchdConf /usr/local/dpsearch/etc/modsearchd.conf
        <Location /search>
            SetHandler dpsearch
            DataparkSearchTemplate /usr/local/dpsearch/etc/modsearch.htm
        </Location>
        <Location /storedoc>
            SetHandler dpstoredoc
            DataparkStoredocTemplate /usr/local/dpsearch/etc/modstoredoc.htm
        </Location>
    </IfModule>

There are three configuration directives supported by this module: `DataparkSearchdConf`, `DataparkSearchTemplate` and `DataparkStoredocTemplate` . The `DataparkSearchdConf` optional directive specify a searchd related configuration file. It may be only one per server. The `DataparkSearchdTemplate` directive specify a search template file. The `DataparkStoredocTemplate` directive specify a storedoc template file. There can be several templates specified per servers, by one per location. If `DataparkSearchdConf` directive specified, there no need specify `DBAddr` command in templates.

Prev | Home | Next
Searching documents | Up | How to write search result templates