You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebase/khelpcenter/searchhandlers
samelian b6fc43ccd5
[kdebase] initial cmake support
14 years ago
..
CMakeLists.txt [kdebase] initial cmake support 14 years ago
Makefile.am * Massive import of OpenSUSE patches, primarily for bugfixes 14 years ago
README.searchhandlers Revert automated changes 14 years ago
docbook.desktop * Massive import of OpenSUSE patches, primarily for bugfixes 14 years ago
htdig.desktop Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
htdig_long.html Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
khc_beagle_index.pl * Massive import of OpenSUSE patches, primarily for bugfixes 14 years ago
khc_beagle_search.pl * Massive import of OpenSUSE patches, primarily for bugfixes 14 years ago
khc_docbookdig.pl.in Initial import of Trinity 3.5.11 to kdebase 15 years ago
khc_htdig.pl.in Initial import of Trinity 3.5.11 to kdebase 15 years ago
khc_htsearch.pl Initial import of Trinity 3.5.11 to kdebase 15 years ago
khc_mansearch.pl Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
man.desktop Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago

README.searchhandlers

KHelpcenter Search Handlers
===========================

Searching documents in KHelpcenter is handled by document-type-specific search
handlers. Each searchable document provides provides a document type in its meta
data and if a corresponding handler is found, it can be searched.

Search handlers are described by a desktop file which is put in the khelpcenter
app directory in a "searchhandlers" directory. The desktop file contains the
information about which document types the handler covers, how to do a search
query and how to create a search index.

A search handler has to provide a command line tool based interface. There has
to be a command to do a query and, if previous creation of an index is required,
a command to create a search index. The search commands returns its results as
HTML on stdout.


Search Query
------------

KHelpcenter reads the command to execute for submitting a search query from the
search handler's desktop file ("SearchCommand"). The search command can contain
some symbols which are replaced by KHelpcenter with the data for the concrete
search request:

%i  Identifier of document (usually the name of the document's desktop file)
%w  Words to be searched for
%o  Operation for combining multiple search words. Allowed values: "and" and
    "or".
%m  Maximum number of results
%d  Directory containing search indices

Search Query Result
-------------------

The result has to be returned as HTML page. The content of the <body> tag will
be extracted and inserted in the search results page. If there is no body tag,
the complete result text will be inserted.


Building a Search Index
-----------------------

KHelpcenter reads the command to build a search index from the search handler's
desktop file ("IndexCommand"). The indexing command can contain some symbols
which are replaced by KHelpcenter with the data for the concrete index creation
call:

%i  Identifier of document (usually the name of the document's desktop file)
%d  Directory containing search indices
%p  Path to document to be indexed

Index Creation Result
---------------------

As result of the indexing command an index is created in the directory specified
by KHelpcenter. The format and structure of the index is handler-specific. When
index creation is finished the indexing command has to create a special file
with the name "<identifier>.exists", where <identifier> has to have the value
passed by the %i symbol. This file indicates the existance of the index.