From 8841d79d26aa76dcd88df1e1f7bf39742e694364 Mon Sep 17 00:00:00 2001 From: Steve Yen Date: Tue, 6 Mar 2018 15:26:54 -0800 Subject: [PATCH] scorch optimize mem processField inner-loop --- index/scorch/segment/mem/build.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/index/scorch/segment/mem/build.go b/index/scorch/segment/mem/build.go index 264c94d1..a064fcba 100644 --- a/index/scorch/segment/mem/build.go +++ b/index/scorch/segment/mem/build.go @@ -111,13 +111,15 @@ func (s *Segment) initializeDict(results []*index.AnalysisResult) { } processField := func(fieldID uint16, tfs analysis.TokenFrequencies) { + dict := s.Dicts[fieldID] + dictKeys := s.DictKeys[fieldID] for term, tf := range tfs { - pidPlus1, exists := s.Dicts[fieldID][term] + pidPlus1, exists := dict[term] if !exists { numPostingsLists++ pidPlus1 = uint64(numPostingsLists) - s.Dicts[fieldID][term] = pidPlus1 - s.DictKeys[fieldID] = append(s.DictKeys[fieldID], term) + dict[term] = pidPlus1 + dictKeys = append(dictKeys, term) numTermsPerPostingsList = append(numTermsPerPostingsList, 0) numLocsPerPostingsList = append(numLocsPerPostingsList, 0) } @@ -127,6 +129,7 @@ func (s *Segment) initializeDict(results []*index.AnalysisResult) { totLocs += len(tf.Locations) } numTokenFrequencies += len(tfs) + s.DictKeys[fieldID] = dictKeys } for _, result := range results {