scorch mem optimize processDocument() stored field
This commit is contained in:
parent
b7cfef81c9
commit
6ae799052a
|
@ -222,12 +222,6 @@ func (s *Segment) processDocument(result *index.AnalysisResult) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
storeField := func(docNum uint64, field uint16, typ byte, val []byte, pos []uint64) {
|
|
||||||
s.Stored[docNum][field] = append(s.Stored[docNum][field], val)
|
|
||||||
s.StoredTypes[docNum][field] = append(s.StoredTypes[docNum][field], typ)
|
|
||||||
s.StoredPos[docNum][field] = append(s.StoredPos[docNum][field], pos)
|
|
||||||
}
|
|
||||||
|
|
||||||
// walk each composite field
|
// walk each composite field
|
||||||
for _, field := range result.Document.CompositeFields {
|
for _, field := range result.Document.CompositeFields {
|
||||||
fieldID := uint16(s.getOrDefineField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
|
@ -235,6 +229,10 @@ func (s *Segment) processDocument(result *index.AnalysisResult) {
|
||||||
processField(fieldID, field.Name(), l, tf)
|
processField(fieldID, field.Name(), l, tf)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
docStored := s.Stored[docNum]
|
||||||
|
docStoredTypes := s.StoredTypes[docNum]
|
||||||
|
docStoredPos := s.StoredPos[docNum]
|
||||||
|
|
||||||
// walk each field
|
// walk each field
|
||||||
for i, field := range result.Document.Fields {
|
for i, field := range result.Document.Fields {
|
||||||
fieldID := uint16(s.getOrDefineField(field.Name()))
|
fieldID := uint16(s.getOrDefineField(field.Name()))
|
||||||
|
@ -242,7 +240,9 @@ func (s *Segment) processDocument(result *index.AnalysisResult) {
|
||||||
tf := result.Analyzed[i]
|
tf := result.Analyzed[i]
|
||||||
processField(fieldID, field.Name(), l, tf)
|
processField(fieldID, field.Name(), l, tf)
|
||||||
if field.Options().IsStored() {
|
if field.Options().IsStored() {
|
||||||
storeField(docNum, fieldID, encodeFieldType(field), field.Value(), field.ArrayPositions())
|
docStored[fieldID] = append(docStored[fieldID], field.Value())
|
||||||
|
docStoredTypes[fieldID] = append(docStoredTypes[fieldID], encodeFieldType(field))
|
||||||
|
docStoredPos[fieldID] = append(docStoredPos[fieldID], field.ArrayPositions())
|
||||||
}
|
}
|
||||||
|
|
||||||
if field.Options().IncludeDocValues() {
|
if field.Options().IncludeDocValues() {
|
||||||
|
|
Loading…
Reference in New Issue