]> Humopery - vecsearch.git/commitdiff
data is keyed by content
authorErik Mackdanz <erikmack@gmail.com>
Thu, 28 Nov 2024 15:58:51 +0000 (09:58 -0600)
committerErik Mackdanz <erikmack@gmail.com>
Thu, 28 Nov 2024 15:58:51 +0000 (09:58 -0600)
src/main.rs

index 1def53029d7a02de4d6b1a398e4fb64fb46cd90c..f85dae531a9b85eb2bd8da5b6fa4ae4c9876d071 100644 (file)
@@ -157,7 +157,7 @@ fn init_database(dbname: String, host: String, user: String, password: String) -
     client.execute("CREATE EXTENSION IF NOT EXISTS vector", &[])?;
     client.execute(
        "CREATE TABLE if not exists documents \
-        (id serial PRIMARY KEY, content text, \
+        (content text PRIMARY KEY, \
         embedding vector(384))", &[])?;
 
     Ok(())
@@ -203,7 +203,8 @@ fn index(dbname: String, host: String, user: String, password: String,
        .connect(NoTls)?;
 
     client.execute("INSERT INTO documents (content, embedding) \
-                   values ($1, $2)",
+                   values ($1, $2) \
+                   ON CONFLICT (content) DO UPDATE SET embedding = $2",
                   &[&doc_content,&Vector::from(embeddings)],
     )?;