---
title: "SQLite FTS5 Extension"
description: "!https://www.sqlite.org/fts5.html"
date: 2023-08-21
published: true
tags:
  - data
  - database
  - python
  - sqlite
  - thought
template: link
---


![https://www.sqlite.org/fts5.html](/static/https://www.sqlite.org/fts5.html)

sqlite has 3 different tokenizers, `porter, ascii, trigram`.  

These can be used with sqlite-utils.

``` bash
sqlite-utils enable-fts --tokenize porter database.db post title message tags
```

And with the python api.

``` python
db = Database('database.db')
db["post"].enable_fts(
                ["title", "message", "tags"], create_triggers=True, tokenize="trigram"
            )
posts = list(db["post"].search(search))
```



