|  | Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |

# QHelpSearchEngine Class Reference
[QtHelp module]

The QHelpSearchEngine class provides access to widgets reusable to integrate fulltext search as well as to index and search documentation. More...

     #include <QHelpSearchEngine>

Inherits QObject.

- List of all members, including inherited members

### Public Types

- typedef SearchHit

### Public Functions

- QHelpSearchEngine ( QHelpEngineCore * helpEngine, QObject * parent = 0 )
- ~QHelpSearchEngine ()
- QList<SearchHit> hits ( int start, int end ) const
- int hitsCount () const
- QHelpSearchQueryWidget * queryWidget ()
- QHelpSearchResultWidget * resultWidget ()

- 29 public functions inherited from QObject

### Public Slots

- void cancelIndexing ()
- void cancelSearching ()
- void reindexDocumentation ()
- void search ( const QList<QHelpSearchQuery> & queryList )

- 1 public slot inherited from QObject

### Signals

- void indexingFinished ()
- void indexingStarted ()
- void searchingFinished ( int hits )
- void searchingStarted ()

- 1 signal inherited from QObject

### Additional Inherited Members

- 1 property inherited from QObject
- 5 static public members inherited from QObject
- 7 protected functions inherited from QObject

## Detailed Description

The QHelpSearchEngine class provides access to widgets reusable to integrate fulltext search as well as to index and search documentation.

Before the search engine can be used, one has to instantiate at least a QHelpEngineCore object that needs to be passed to the search engines constructor. This is required as the search engine needs to be connected to the help engines setupFinished() signal to know when it can start to index documentation.

After starting the indexing process the signal indexingStarted() is emitted and on the end of the indexing process the indexingFinished() is emited. To stop the indexing one can call cancelIndexing().

While the indexing process has finished, the search engine can now be used to search thru its index for a given term. To do this one may use the possibility of creating the QHelpSearchQuery list by self or reuse the QHelpSearchQueryWidget which has the inbuild functionality to set up a proper search querys list that get's passed to the search engines search() function.

After the list of querys has been passed to the search engine, the signal searchingStarted() is emited and after the search has finished the searchingFinished() signal is emited. The search process can be stopped by calling cancelSearching().

If the search succeeds, the searchingFinished() will be called with the search hits count, which can be reused to fetch the search hits from the search engine. Calling the hits() function with the range of hits you would like to get will return a list of the requested SearchHits. They basically constist at the moment of a pair of strings where the values of that pair are the documentation file path and the page title.

To display the given hits use the QHelpSearchResultWidget or build up your own one if you need more advanced functionality. Note that the QHelpSearchResultWidget can not be instantiated directly, you must retrieve the widget from the search engine in use as all connections will be established for you by the widget itself.

## Member Type Documentation

### typedef QHelpSearchEngine::SearchHit

Typedef for QPair<QString, QString>. The values of that pair are the documentation file path and the page title.

See also hits().

## Member Function Documentation

### QHelpSearchEngine::QHelpSearchEngine ( QHelpEngineCore * helpEngine, QObject * parent = 0 )

Constructs a new search engine with the given parent. The search engine uses the given helpEngine to access the documentation that needs to be indexed. The QHelpEngine's setupFinished() signal is automatically connected to the QHelpSearchEngine's indexing function, so that new documentation will be indexed after the signal is emited.

### QHelpSearchEngine::~QHelpSearchEngine ()

Destructs the search engine.

### void QHelpSearchEngine::cancelIndexing () `[slot]`

Stops the indexing process.

### void QHelpSearchEngine::cancelSearching () `[slot]`

Stops the search process.

### QList<SearchHit> QHelpSearchEngine::hits ( int start, int end ) const

Returns a list of search hits within the range of start end.

### int QHelpSearchEngine::hitsCount () const

Returns the amount of hits the search engine found.

### void QHelpSearchEngine::indexingFinished () `[signal]`

This signal is emitted when the indexing process is complete.

### void QHelpSearchEngine::indexingStarted () `[signal]`

This signal is emitted when indexing process is started.

### QHelpSearchQueryWidget * QHelpSearchEngine::queryWidget ()

Returns a widget to use as input widget. Depending on your search engine configuration you will get a different widget with more or less subwidgets.

### void QHelpSearchEngine::reindexDocumentation () `[slot]`

Forces the search engine to reindex all documentation files.

### QHelpSearchResultWidget * QHelpSearchEngine::resultWidget ()

Returns a widget that can hold and display the search results.

### void QHelpSearchEngine::search ( const QList<QHelpSearchQuery> & queryList ) `[slot]`

Starts the search process using the given list of querys queryList build by the search field name and the values to search for.

### void QHelpSearchEngine::searchingFinished ( int hits ) `[signal]`

This signal is emitted when the search process is complete. The hit count is stored in hits.

### void QHelpSearchEngine::searchingStarted () `[signal]`

This signal is emitted when the search process is started.