暂存
This commit is contained in:
@@ -41,6 +41,8 @@ CREATE TABLE IF NOT EXISTS chunks (
|
||||
embedding_status INTEGER NOT NULL DEFAULT 0,
|
||||
embedding_ref JSONB,
|
||||
embedding_model TEXT,
|
||||
created_time TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_time TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT chunks_archive_uid_foreign
|
||||
FOREIGN KEY (archive_uid)
|
||||
REFERENCES archives (archive_uid)
|
||||
@@ -53,9 +55,17 @@ SQL,
|
||||
'CREATE INDEX IF NOT EXISTS archives_series_index ON archives (series)',
|
||||
'CREATE INDEX IF NOT EXISTS archives_tags_gin_index ON archives USING GIN (tags)',
|
||||
'CREATE INDEX IF NOT EXISTS archives_metadata_gin_index ON archives USING GIN (metadata)',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS embedding_error TEXT',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS embedding_updated_at TIMESTAMPTZ',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS search_index_status INTEGER NOT NULL DEFAULT 0',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS search_index_error TEXT',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS search_index_updated_at TIMESTAMPTZ',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS created_time TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP',
|
||||
'ALTER TABLE chunks ADD COLUMN IF NOT EXISTS updated_time TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP',
|
||||
'CREATE INDEX IF NOT EXISTS chunks_archive_uid_index ON chunks (archive_uid)',
|
||||
'CREATE INDEX IF NOT EXISTS chunks_page_range_index ON chunks (archive_uid, page_start, page_end)',
|
||||
'CREATE INDEX IF NOT EXISTS chunks_embedding_status_index ON chunks (embedding_status)',
|
||||
'CREATE INDEX IF NOT EXISTS chunks_search_index_status_index ON chunks (search_index_status)',
|
||||
<<<SQL
|
||||
CREATE OR REPLACE FUNCTION set_updated_time()
|
||||
RETURNS TRIGGER AS $$
|
||||
@@ -66,11 +76,18 @@ END;
|
||||
$$ LANGUAGE plpgsql
|
||||
SQL,
|
||||
'DROP TRIGGER IF EXISTS archives_set_updated_time ON archives',
|
||||
'DROP TRIGGER IF EXISTS chunks_set_updated_time ON chunks',
|
||||
<<<SQL
|
||||
CREATE TRIGGER archives_set_updated_time
|
||||
BEFORE UPDATE ON archives
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION set_updated_time()
|
||||
SQL,
|
||||
<<<SQL
|
||||
CREATE TRIGGER chunks_set_updated_time
|
||||
BEFORE UPDATE ON chunks
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION set_updated_time()
|
||||
SQL,
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
use app\service\Search\OpenSearchChunkIndex;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
require __DIR__ . '/../support/bootstrap.php';
|
||||
|
||||
try {
|
||||
$index = new OpenSearchChunkIndex();
|
||||
$index->ensureExists();
|
||||
|
||||
echo 'OpenSearch chunk index initialized: ' . config('opensearch.indices.chunks', 'proofdb_chunks') . PHP_EOL;
|
||||
echo 'Vector dimensions: ' . config('opensearch.vector.dimensions', 2048) . PHP_EOL;
|
||||
} catch (Throwable $exception) {
|
||||
fwrite(STDERR, $exception::class . ': ' . $exception->getMessage() . PHP_EOL);
|
||||
exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user