Для чего используются аннотации @Fts3 и @Fts4 в Room?

Аннотации FTS включают Full Text Search – быстрый поиск по контенту базы данных. В Room эти аннотации применяются к Entity-классам.
Аннотация @Fts3 используется только когда место на диске ограничено, или если необходимо поддерживать старые версии SQLite. В остальных случаях следует использовать @Fts4.

Если Entity имеет FTS-аннотацию, то Primary Key этого класса должен быть типа int и иметь имя rowid:

@PrimaryKey @ColumnInfo(name = "rowid") val id: Int


Если не добавить Primary Key в таком Entity-классе, то он будет создан автоматически.