콘텐츠로 이동

Check Vector Index State

이 예제는 index 생성 직후, fence_vector_index 이후, 추가 write 이후에 AkasicDB vector index 상태를 읽습니다.

DROP TABLE IF EXISTS akasicdb_example_index_events;

CREATE TABLE akasicdb_example_index_events (
  id integer PRIMARY KEY,
  event_name text NOT NULL,
  embedding vector(4) NOT NULL
);

INSERT INTO akasicdb_example_index_events (id, event_name, embedding) VALUES
  (1, 'search opened', ARRAY[0.10,0.20,0.30,0.00]::real[]::vector),
  (2, 'search refined', ARRAY[0.11,0.21,0.29,0.01]::real[]::vector),
  (3, 'result clicked', ARRAY[0.12,0.22,0.28,0.02]::real[]::vector),
  (4, 'filter applied', ARRAY[0.13,0.23,0.27,0.03]::real[]::vector),
  (5, 'item saved', ARRAY[0.30,0.10,0.20,0.04]::real[]::vector),
  (6, 'item shared', ARRAY[0.31,0.11,0.19,0.05]::real[]::vector),
  (7, 'cart updated', ARRAY[0.40,0.30,0.10,0.06]::real[]::vector),
  (8, 'checkout started', ARRAY[0.41,0.31,0.09,0.07]::real[]::vector),
  (9, 'recommendation shown', ARRAY[0.14,0.24,0.26,0.03]::real[]::vector),
  (10, 'recommendation dismissed', ARRAY[0.15,0.25,0.25,0.04]::real[]::vector),
  (11, 'profile viewed', ARRAY[0.50,0.20,0.20,0.08]::real[]::vector),
  (12, 'profile edited', ARRAY[0.51,0.21,0.19,0.09]::real[]::vector);

CREATE INDEX akasicdb_index_events_embedding_idx
ON akasicdb_example_index_events
USING vectoron (embedding vector_l2_ops)
WITH (options = $$
[indexing.hnsw]
$$);

SELECT idx_status, idx_indexing, idx_tuples, idx_write
FROM vectoron_index_stat
WHERE indexname = 'akasicdb_index_events_embedding_idx';

SELECT fence_vector_index('akasicdb_index_events_embedding_idx'::regclass);

SELECT idx_status, idx_indexing, idx_tuples, idx_write
FROM vectoron_index_stat
WHERE indexname = 'akasicdb_index_events_embedding_idx';

INSERT INTO akasicdb_example_index_events (id, event_name, embedding) VALUES
  (13, 'search exported', ARRAY[0.16,0.26,0.24,0.05]::real[]::vector),
  (14, 'saved search opened', ARRAY[0.17,0.27,0.23,0.06]::real[]::vector),
  (15, 'alert created', ARRAY[0.52,0.22,0.18,0.10]::real[]::vector),
  (16, 'alert delivered', ARRAY[0.53,0.23,0.17,0.11]::real[]::vector);

SELECT idx_status, idx_indexing, idx_tuples, idx_write
FROM vectoron_index_stat
WHERE indexname = 'akasicdb_index_events_embedding_idx';

반환되는 Field

Field 의미
idx_status index stat row의 존재 확인
idx_indexing index 작업 진행 여부 확인
idx_tuples 예제 table의 indexed tuple count 관찰
idx_write 추가 insert 후 write segment 활동 관찰