Import Vector lab project
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
-- Таблица для хранения сырых документов
|
||||
CREATE TABLE IF NOT EXISTS raw_documents (
|
||||
id SERIAL PRIMARY KEY,
|
||||
filename VARCHAR(255) NOT NULL,
|
||||
raw_text TEXT NOT NULL,
|
||||
extracted_json JSONB,
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Таблица для хранения структурированных данных о случаях
|
||||
CREATE TABLE IF NOT EXISTS cases (
|
||||
id SERIAL PRIMARY KEY,
|
||||
raw_document_id INTEGER REFERENCES raw_documents(id),
|
||||
|
||||
-- Данные о пропавшем
|
||||
age INTEGER,
|
||||
gender VARCHAR(50),
|
||||
has_diagnosis BOOLEAN,
|
||||
diagnosis_type VARCHAR(255),
|
||||
has_transport BOOLEAN,
|
||||
|
||||
-- Условия
|
||||
season VARCHAR(50),
|
||||
time_of_day VARCHAR(50),
|
||||
elapsed_before_report_h FLOAT,
|
||||
|
||||
-- Местоположение
|
||||
last_seen_direction VARCHAR(100),
|
||||
terrain_primary VARCHAR(100),
|
||||
water_nearby BOOLEAN,
|
||||
road_nearby BOOLEAN,
|
||||
|
||||
-- Результаты поиска
|
||||
found_alive BOOLEAN,
|
||||
found_distance_km FLOAT,
|
||||
found_direction VARCHAR(100),
|
||||
found_location_type VARCHAR(255),
|
||||
search_duration_hours FLOAT,
|
||||
who_found VARCHAR(255),
|
||||
|
||||
-- Метаданные
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
updated_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Индексы для ускорения запросов
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_age ON cases(age);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_season ON cases(season);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_terrain ON cases(terrain_primary);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_found_alive ON cases(found_alive);
|
||||
CREATE INDEX IF NOT EXISTS idx_cases_found_distance ON cases(found_distance_km);
|
||||
|
||||
-- Индекс для JSONB поиска
|
||||
CREATE INDEX IF NOT EXISTS idx_raw_documents_json ON raw_documents USING gin(extracted_json);
|
||||
|
||||
COMMENT ON TABLE raw_documents IS 'Сырые документы спецдонесений МЧС';
|
||||
COMMENT ON TABLE cases IS 'Структурированные данные о случаях пропажи людей';
|
||||
Reference in New Issue
Block a user