Skip to content

Commit

Permalink
remove columnreader from stream dispatcher interface
Browse files Browse the repository at this point in the history
  • Loading branch information
kreeben committed Dec 4, 2023
1 parent ec170e0 commit 964e557
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 16 deletions.
1 change: 0 additions & 1 deletion src/Sir.Core/IStreamDispatcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,5 @@ public interface IStreamDispatcher
void RegisterKeyMapping(string directory, ulong collectionId, ulong keyHash, long keyId);
bool TryGetKeyId(string directory, ulong collectionId, ulong keyHash, out long keyId);
long GetKeyId(string directory, ulong collectionId, ulong keyHash);
ColumnReader CreateColumnReader(string directory, ulong collectionId, long keyId);
}
}
18 changes: 17 additions & 1 deletion src/Sir.Search/SearchSession.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;

namespace Sir
{
Expand Down Expand Up @@ -127,7 +128,7 @@ private void Scan(IQuery query, bool identicalMatchesOnly)

if (!_readers.TryGetValue(key, out reader))
{
reader = _sessionFactory.CreateColumnReader(term.Directory, term.CollectionId, term.KeyId);
reader = CreateColumnReader(term.Directory, term.CollectionId, term.KeyId);

if (reader != null)
{
Expand All @@ -151,6 +152,21 @@ private void Scan(IQuery query, bool identicalMatchesOnly)
}
}

private ColumnReader CreateColumnReader(string directory, ulong collectionId, long keyId)
{
var ixFileName = Path.Combine(directory, string.Format("{0}.{1}.ix", collectionId, keyId));
var vectorFileName = Path.Combine(directory, $"{collectionId}.{keyId}.vec");
var pageIndexFileName = Path.Combine(directory, $"{collectionId}.{keyId}.ixtp");

using (var pageIndexReader = new PageIndexReader(_sessionFactory.CreateReadStream(pageIndexFileName)))
{
return new ColumnReader(
pageIndexReader.ReadAll(),
_sessionFactory.CreateReadStream(ixFileName),
_sessionFactory.CreateReadStream(vectorFileName));
}
}

private static ScoredResult Sort(
IDictionary<(ulong CollectionId, long DocumentId), double> documents,
int skip,
Expand Down
15 changes: 1 addition & 14 deletions src/Sir.Search/SessionFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,7 @@ public SessionFactory(ILogger logger = null)
LogTrace($"database initiated");
}

public ColumnReader CreateColumnReader(string directory, ulong collectionId, long keyId)
{
var ixFileName = Path.Combine(directory, string.Format("{0}.{1}.ix", collectionId, keyId));
var vectorFileName = Path.Combine(directory, $"{collectionId}.{keyId}.vec");
var pageIndexFileName = Path.Combine(directory, $"{collectionId}.{keyId}.ixtp");

using (var pageIndexReader = new PageIndexReader(CreateReadStream(pageIndexFileName)))
{
return new ColumnReader(
pageIndexReader.ReadAll(),
CreateReadStream(ixFileName),
CreateReadStream(vectorFileName));
}
}


public IEnumerable<Document> Select(string directory, ulong collectionId, HashSet<string> select, int skip = 0, int take = 0)
{
Expand Down

0 comments on commit 964e557

Please sign in to comment.