Skip to content

Commit 615d85c

Browse files
authored
Returning bytesRead per query as part of searchResult (#32)
* refactoring for bytes read returned per query * adding SetStoredFieldsBytes method to Document interface * - introduced BytesRead API for FieldDict and TFR * - updated TermFieldReader constructor method with context - removed the bytesRead API from TermFieldReader interface * minor refactoring of the interfaces * - Removed FetchIOStats interface and renamed the Document interface's APIs. * removing the bytesRead field from TermFieldDoc
1 parent 538a3a1 commit 615d85c

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

document.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ type Document interface {
2727
NumPlainTextBytes() uint64
2828

2929
AddIDField()
30+
31+
StoredFieldsBytes() uint64
3032
}
3133

3234
type FieldVisitor func(Field)

index.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ package index
1616

1717
import (
1818
"bytes"
19+
"context"
1920
"reflect"
2021
)
2122

@@ -48,7 +49,7 @@ type Index interface {
4849
}
4950

5051
type IndexReader interface {
51-
TermFieldReader(term []byte, field string, includeFreq, includeNorm, includeTermVectors bool) (TermFieldReader, error)
52+
TermFieldReader(ctx context.Context, term []byte, field string, includeFreq, includeNorm, includeTermVectors bool) (TermFieldReader, error)
5253

5354
// DocIDReader returns an iterator over all doc ids
5455
// The caller must close returned instance to release associated resources.
@@ -123,12 +124,11 @@ func (id IndexInternalID) Compare(other IndexInternalID) int {
123124
}
124125

125126
type TermFieldDoc struct {
126-
Term string
127-
ID IndexInternalID
128-
Freq uint64
129-
Norm float64
130-
Vectors []*TermFieldVector
131-
BytesRead uint64
127+
Term string
128+
ID IndexInternalID
129+
Freq uint64
130+
Norm float64
131+
Vectors []*TermFieldVector
132132
}
133133

134134
func (tfd *TermFieldDoc) Size() int {
@@ -183,10 +183,14 @@ type DictEntry struct {
183183
type FieldDict interface {
184184
Next() (*DictEntry, error)
185185
Close() error
186+
187+
BytesRead() uint64
186188
}
187189

188190
type FieldDictContains interface {
189191
Contains(key []byte) (bool, error)
192+
193+
BytesRead() uint64
190194
}
191195

192196
// DocIDReader is the interface exposing enumeration of documents identifiers.
@@ -211,6 +215,8 @@ type DocValueVisitor func(field string, term []byte)
211215

212216
type DocValueReader interface {
213217
VisitDocValues(id IndexInternalID, visitor DocValueVisitor) error
218+
219+
BytesRead() uint64
214220
}
215221

216222
// IndexBuilder is an interface supported by some index schemes

0 commit comments

Comments
 (0)