diff --git a/index/firestorm/analysis.go b/index/firestorm/analysis.go index 878f2994..7bab22ec 100644 --- a/index/firestorm/analysis.go +++ b/index/firestorm/analysis.go @@ -65,15 +65,17 @@ func (f *Firestorm) Analyze(d *document.Document) *index.AnalysisResult { analyzeField(field, true) } - for fieldIndex, tokenFreqs := range fieldTermFreqs { - // see if any of the composite fields need this - for _, compositeField := range d.CompositeFields { - compositeField.Compose(fieldNames[fieldIndex], fieldLengths[fieldIndex], tokenFreqs) + if len(d.CompositeFields) > 0 { + for fieldIndex, tokenFreqs := range fieldTermFreqs { + // see if any of the composite fields need this + for _, compositeField := range d.CompositeFields { + compositeField.Compose(fieldNames[fieldIndex], fieldLengths[fieldIndex], tokenFreqs) + } } - } - for _, compositeField := range d.CompositeFields { - analyzeField(compositeField, false) + for _, compositeField := range d.CompositeFields { + analyzeField(compositeField, false) + } } rowsCapNeeded := len(rv.Rows) diff --git a/index/upside_down/analysis.go b/index/upside_down/analysis.go index dbb732b7..1fcbdafa 100644 --- a/index/upside_down/analysis.go +++ b/index/upside_down/analysis.go @@ -65,15 +65,17 @@ func (udc *UpsideDownCouch) Analyze(d *document.Document) *index.AnalysisResult analyzeField(field, true) } - for fieldIndex, tokenFreqs := range fieldTermFreqs { - // see if any of the composite fields need this - for _, compositeField := range d.CompositeFields { - compositeField.Compose(fieldNames[fieldIndex], fieldLengths[fieldIndex], tokenFreqs) + if len(d.CompositeFields) > 0 { + for fieldIndex, tokenFreqs := range fieldTermFreqs { + // see if any of the composite fields need this + for _, compositeField := range d.CompositeFields { + compositeField.Compose(fieldNames[fieldIndex], fieldLengths[fieldIndex], tokenFreqs) + } } - } - for _, compositeField := range d.CompositeFields { - analyzeField(compositeField, false) + for _, compositeField := range d.CompositeFields { + analyzeField(compositeField, false) + } } rowsCapNeeded := len(rv.Rows) + 1