diff --git a/index/firestorm/garbage.go b/index/firestorm/garbage.go index d70d5036..7a2abe40 100644 --- a/index/firestorm/garbage.go +++ b/index/firestorm/garbage.go @@ -135,9 +135,10 @@ func (gc *GarbageCollector) cleanup() { termFreqStart := TermFreqIteratorStart(0, []byte{ByteSeparator}) termFreqEnd := TermFreqIteratorStart(math.MaxUint16, []byte{ByteSeparator}) + var tfr TermFreqRow dictionaryDeltas := make(map[string]int64) err = visitRange(reader, termFreqStart, termFreqEnd, func(key, val []byte) (bool, error) { - tfr, err := NewTermFreqRowKV(key, val) + err := tfr.ParseKey(key) if err != nil { return false, err } @@ -158,8 +159,9 @@ func (gc *GarbageCollector) cleanup() { } // walk all the stored rows + var sr StoredRow err = visitPrefix(reader, StoredKeyPrefix, func(key, val []byte) (bool, error) { - sr, err := NewStoredRowKV(key, val) + err := sr.ParseKey(key) if err != nil { return false, err } diff --git a/index/firestorm/lookup.go b/index/firestorm/lookup.go index 0964f29d..d58640e6 100644 --- a/index/firestorm/lookup.go +++ b/index/firestorm/lookup.go @@ -91,10 +91,11 @@ func (l *Lookuper) lookup(item *InFlightItem) { prefix := TermFreqPrefixFieldTermDocId(0, nil, item.docID) logger.Printf("lookuper prefix - % x", prefix) + var tfk TermFreqRow docNums := make(DocNumberList, 0) err = visitPrefix(reader, prefix, func(key, val []byte) (bool, error) { logger.Printf("lookuper sees key % x", key) - tfk, err := NewTermFreqRowKV(key, val) + err := tfk.ParseKey(key) if err != nil { return false, err } diff --git a/index/firestorm/warmup.go b/index/firestorm/warmup.go index 299f6fb4..02e3b21a 100644 --- a/index/firestorm/warmup.go +++ b/index/firestorm/warmup.go @@ -67,10 +67,11 @@ func (f *Firestorm) warmup(reader store.KVReader) error { tfkPrefix := TermFreqIteratorStart(idField, nil) + var tfk TermFreqRow var lastDocId []byte lastDocNumbers := make(DocNumberList, 1) err = visitPrefix(reader, tfkPrefix, func(key, val []byte) (bool, error) { - tfk, err := NewTermFreqRowKV(key, val) + err := tfk.ParseKey(key) if err != nil { return false, err }