From 49105acbb7301d6a87b2d1c5a10c4501f7d44ab8 Mon Sep 17 00:00:00 2001 From: HuanGong Date: Wed, 14 Apr 2021 23:31:26 +0800 Subject: [PATCH] fix skip error --- be_indexer.go | 5 ++--- be_indexer_test.go | 32 +++++++++++++++++++++++++++++++- logger.go | 14 +++++++------- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/be_indexer.go b/be_indexer.go index 094ff24..2563c20 100644 --- a/be_indexer.go +++ b/be_indexer.go @@ -176,8 +176,6 @@ func (bi *BEIndex) initPostingList(k int, queries Assignments) FieldPostingListG } fieldID := bi.FieldID(field) - Logger.Infof("field:%s query ids:%v\n", field, ids) - pls := PostingLists{} for _, id := range ids { key := NewKey(fieldID, id) @@ -216,7 +214,7 @@ func (bi *BEIndex) retrieveK(plgList FieldPostingListGroups, k int) (result []in if plgList[i].GetCurConjID() != eid.GetConjID() { break } - plgList[i].SkipTo(nextID) + plgList[i].Skip(nextID) } } } @@ -244,6 +242,7 @@ func (bi *BEIndex) Retrieve(queries Assignments) (result []int32, err error) { } res := bi.retrieveK(plgList, tempK) result = append(result, res...) + Logger.Debugf("k:%d,res:%+v,entries:%s", k, res, plgList.Dump()) } return result, nil } diff --git a/be_indexer_test.go b/be_indexer_test.go index 87b6bca..474e40b 100644 --- a/be_indexer_test.go +++ b/be_indexer_test.go @@ -31,7 +31,7 @@ func EntriesToDocs(entries Entries) (res []int32) { } func TestBEIndex_Retrieve(t *testing.T) { - LogLevel = infoLevel + LogLevel = InfoLevel builder := IndexerBuilder{ Documents: make(map[int32]*Document), @@ -246,3 +246,33 @@ func TestBEIndex_Retrieve3(t *testing.T) { index := &BEIndex{} fmt.Println(index.retrieveK(plgs, 2)) } + +func TestBEIndex_Retrieve4(t *testing.T) { + LogLevel = ErrorLevel + builder := NewIndexerBuilder() + + doc := NewDocument(12) + conj := NewConjunction() + conj.In("tag", NewInt32Values(1)) + conj.NotIn("age", NewInt32Values(40, 50, 60, 70)) + + doc.AddConjunction(conj) + + builder.AddDocument(doc) + + indexer := builder.BuildIndex() + + fmt.Println(indexer.Retrieve(Assignments{ + "age": NewInt32Values(1), + })) + + fmt.Println(indexer.Retrieve(Assignments{ + "age": NewInt32Values(25), + "tag": NewInt32Values(1), + })) + + fmt.Println(indexer.Retrieve(Assignments{ + "age": NewIntValues(40), + "tag": NewInt32Values(1), + })) +} diff --git a/logger.go b/logger.go index c71e4d2..818302a 100644 --- a/logger.go +++ b/logger.go @@ -3,13 +3,13 @@ package be_indexer import "fmt" const ( - debugLevel = iota - infoLevel - errorLevel + DebugLevel = iota + InfoLevel + ErrorLevel ) var ( - LogLevel int = debugLevel // control defaultLogger log level + LogLevel int = DebugLevel // control defaultLogger log level Logger BEIndexLogger = &DefaultLogger{} ) @@ -24,21 +24,21 @@ type ( ) func (l *DefaultLogger) Debugf(format string, v ...interface{}) { - if LogLevel > debugLevel { + if LogLevel > DebugLevel { return } fmt.Printf(format, v...) } func (l *DefaultLogger) Infof(format string, v ...interface{}) { - if LogLevel > infoLevel { + if LogLevel > InfoLevel { return } fmt.Printf(format, v...) } func (l *DefaultLogger) Errorf(format string, v ...interface{}) { - if LogLevel > errorLevel { + if LogLevel > ErrorLevel { return } fmt.Printf(format, v...)