feat(ui): implement premium NexusSearchBox component and integrate semantic search navigation

This commit is contained in:
2026-05-21 20:16:14 +02:00
parent 37bec89484
commit 0a3ca77d46
9 changed files with 632 additions and 116 deletions
@@ -55,16 +55,7 @@ public class AppDbContext : IdentityDbContext<NexusUser>
entity.HasKey(e => e.ContentHash);
entity.HasIndex(e => e.ContentHash).IsUnique();
entity.HasIndex(e => e.TenantId);
if (Database.IsNpgsql())
{
// Configure vector column (768 dims) and HNSW index for cosine similarity
entity.Property(e => e.Embedding).HasColumnType("vector(768)");
entity.HasIndex(e => e.Embedding).HasMethod("hnsw").HasOperators("vector_cosine_ops");
}
else
{
entity.Ignore(e => e.Embedding);
}
entity.Ignore(e => e.Embedding);
});
modelBuilder.Entity<KnowledgeUnit>(entity =>
@@ -1,7 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using Pgvector.EntityFrameworkCore;
namespace NexusReader.Data.Persistence;
@@ -38,7 +37,7 @@ public class AppDbContextFactory : IDesignTimeDbContextFactory<AppDbContext>
connectionString = "Host=localhost;Database=nexus_reader;Username=postgres;Password=postgres";
}
optionsBuilder.UseNpgsql(connectionString, x => x.UseVector());
optionsBuilder.UseNpgsql(connectionString);
return new AppDbContext(optionsBuilder.Options);
}