32 lines
1.0 KiB
SQL
32 lines
1.0 KiB
SQL
-- scienting-bundle/1: the SQLite file a reader or a server reads.
|
|
-- Normative: spec/13-database.md. SQLite only: it uses FTS5.
|
|
-- A bundle holds sql/doc.sql and sql/store.sql, then these tables.
|
|
-- License: CC0-1.0.
|
|
|
|
CREATE TABLE bundle_meta (
|
|
name VARCHAR(64) NOT NULL,
|
|
value TEXT NOT NULL,
|
|
PRIMARY KEY (name)
|
|
);
|
|
|
|
-- One row per searchable unit: a sentence, an equation outside a sentence, a cell, or a figure-text item.
|
|
-- `context` is the kind of the sentence's container: paragraph, heading, caption, footnote and so on.
|
|
-- `text` is the normalized plain projection; withheld text is never indexed.
|
|
CREATE VIRTUAL TABLE search USING fts5(
|
|
doc_key UNINDEXED,
|
|
node UNINDEXED,
|
|
unit UNINDEXED,
|
|
context UNINDEXED,
|
|
text,
|
|
tokenize = 'unicode61 remove_diacritics 2'
|
|
);
|
|
|
|
-- Reserved for embeddings with sqlite-vec; see spec/13-database.md.
|
|
CREATE TABLE embeddings_meta (
|
|
model VARCHAR(128) NOT NULL,
|
|
dimensions INTEGER NOT NULL,
|
|
rights_use VARCHAR(64) NOT NULL,
|
|
made_at VARCHAR(20) NOT NULL,
|
|
PRIMARY KEY (model)
|
|
);
|