# Search engine

The search engine of the knowledge base is available here

&#x20;**`Tools >`** **`Knowledge base ("Search" tab)`**

![Knowledge base search engine](https://2961961068-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsGALtnzA2IROeldmXKt5%2Fuploads%2Fgit-blob-477560d0bff222fd6da68775121c1ecd8b3f945c%2Fknowledge_search.png?alt=media)

{% hint style="info" %}
Fields used by the search engine&#x20;

\- Subject of the knowledge base article&#x20;

\- Content of the knowledge base article&#x20;

\- Translations of the knowledge base article
{% endhint %}

## `Simple` search

It is possible to perform a `simple` keyword search.

For example, if you search for the following keywords `apple`

GLPI will automatically add a `*` (except if `*` is already present) `apple*`

GLPI will then search for all articles that contain words such as `apple`, `apples`, `applesauce`, or `applet`.

## `Complex` search

The search engine of the knowledge base also offers the following operators for a complex search

***

### Operators

| Operator  | Description                                       |
| --------- | ------------------------------------------------- |
| **`+`**   | Word must be present                              |
| **`-`**   | Word must not be present                          |
| **`*`**   | Truncate suffix                                   |
| **`" "`** | The sequence contained must be searched literally |
| **`< >`** | Define the order of search items                  |
| **`()`**  | Grouping when using `<` and `>`                   |

***

### Behaviors

Here are some examples:

| Search                             | Descritpion                                                                                                                                                                                                                                                                                        |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`+apple +juice`**                | Finds articles that contain both words.                                                                                                                                                                                                                                                            |
| **`+apple macintosh`**             | Finds articles that contain the word "apple", but ranks articles higher if they also contain "macintosh".                                                                                                                                                                                          |
| **`+apple -macintosh`**            | Finds items that contain the word "apple" but not "macintosh".                                                                                                                                                                                                                                     |
| **`+apple ~macintosh`**            | Finds articles that contain the word "apple", but if the line also contains the word "macintosh", rank it lower than if the line does not contain the word "apple". This method is "gentler" than the "+apple -macintosh" search, where the presence of "macintosh" causes the line to not return. |
| **`+apple +(>turnover <strudel)`** | Finds articles that contain the words "apple" and "turnover", or "apple" and "strudel" (in any order), but ranks "apple turnover" higher than "apple strudel".                                                                                                                                     |
| **`apple*`**                       | Finds articles that contain words like "apple", "apples", "applesauce", or "applet". Note that the `"` characters surrounding the expression are characters that delimit the expression. They are not the quotation marks that surround the search string itself.                                  |

## References

[MySQL Boolean Full-Text Searches](https://dev.mysql.com/doc/refman/8.0/en/fulltext-boolean.html)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.glpi-project.org/tutorials/knowledge/search.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
