# 7.20.1. Introduction

The suggest feature in Groonga provides the following features:

- Completion

- Correction

- Suggestion

## 7.20.1.1. Completion

Completion helps user input. If user inputs a partial word, Groonga can return complete words from registered words.

For example, there are registered words:

- “groonga”

- “complete”

- “correction”

- “suggest”

An user inputs “co” and groonga returns “complete” and “correction” because they starts with “co”.

An user inputs “sug” and groonga returns “suggest” because “suggest” starts with “sug”.

An user inputs “ab” and groonga returns nothing because no word starts with “ab”.

## 7.20.1.2. Correction

Correction also helps user input. If user inputs a wrong word, groonga can return correct words from registered correction pairs.

For example, there are registered correction pairs:

wrong word | correct word
--- | ---
grroonga | groonga
gronga | groonga
gronnga | groonga

An user inputs “gronga” and groonga returns “groonga” because “gronga” is in wrong word and corresponding correct word is “groonga”.

An user inputs “roonga” and groonga returns nothing because “roonga” isn’t in wrong word.

## 7.20.1.3. Suggestion

Suggestion helps that user filters many found documents. If user inputs a query, groonga can return new queries that has more additional keywords from registered related query pairs.

For example, there are registered related query pairs:

keyword | related query
--- | ---
groonga | groonga search engine
search | Google search
speed | groonga speed

An user inputs “groonga” and groonga returns “groonga search engine” because “groonga” is in keyword column and related query column is “groonga search engine”.

An user inputs “MySQL” and groonga returns nothing because “MySQL” isn’t in keyword column values.

## 7.20.1.4. Learning

The suggest feature requires registered data before using the feature. Those data can be registered from user inputs. Gronnga-suggest-httpd and groonga-suggest-learner commands are provided for the propose.

previous

7.20. Suggest

next

7.20.2. Completion