Qt 5.8 | Qt Help | C++ Classes | QHelpSearchEngine

Qt 5.8.0 Reference Documentation

# QHelpSearchEngine Class

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

Header: | #include <QHelpSearchEngine>
qmake: | QT += help
Since: | Qt 4.4

- List of all members, including inherited members
- Obsolete members

## Public Types

typedef | SearchHit

## Public Functions

| QHelpSearchEngine(QHelpEngineCore *helpEngine, QObject *parent = Q_NULLPTR)
| ~QHelpSearchEngine()
int | hitCount() const
QList<SearchHit> | hits(int start, int end) const
QList<QHelpSearchQuery> | query() const
QHelpSearchQueryWidget * | queryWidget()
QHelpSearchResultWidget * | resultWidget()

## Public Slots

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

## Signals

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

## 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 emitted. 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 queries 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 emitted and after the search has finished the searchingFinished() signal is emitted. 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 = Q_NULLPTR)

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 emitted.

### QHelpSearchEngine::~QHelpSearchEngine()

Destructs the search engine.

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

Stops the indexing process.

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

Stops the search process.

### int QHelpSearchEngine::hitCount() const

Returns the amount of hits the search engine found.

This function was introduced in Qt 4.6.

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

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

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

This signal is emitted when the indexing process is complete.

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

This signal is emitted when indexing process is started.

### QList<QHelpSearchQuery> QHelpSearchEngine::query() const

Returns the list of queries last searched for.

This function was introduced in Qt 4.5.

### 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.

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

Forces the search engine to reindex all documentation files.

### QHelpSearchResultWidget *QHelpSearchEngine::resultWidget()

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

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

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

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

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

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

This signal is emitted when the search process is started.