diff options
Diffstat (limited to 'vendor/github.com/blevesearch')
-rw-r--r-- | vendor/github.com/blevesearch/bleve/go.mod | 10 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/bleve/mapping/document.go | 41 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/bleve/mapping/index.go | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v11/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v12/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v13/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v14/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v15/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v15/intDecoder.go | 8 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v15/merge.go | 51 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v15/posting.go | 52 | ||||
-rw-r--r-- | vendor/github.com/blevesearch/zap/v15/segment.go | 2 |
12 files changed, 140 insertions, 36 deletions
diff --git a/vendor/github.com/blevesearch/bleve/go.mod b/vendor/github.com/blevesearch/bleve/go.mod index fe5d25a357..10f4c57113 100644 --- a/vendor/github.com/blevesearch/bleve/go.mod +++ b/vendor/github.com/blevesearch/bleve/go.mod @@ -8,11 +8,11 @@ require ( github.com/blevesearch/go-porterstemmer v1.0.3 github.com/blevesearch/segment v0.9.0 github.com/blevesearch/snowballstem v0.9.0 - github.com/blevesearch/zap/v11 v11.0.12 - github.com/blevesearch/zap/v12 v12.0.12 - github.com/blevesearch/zap/v13 v13.0.4 - github.com/blevesearch/zap/v14 v14.0.3 - github.com/blevesearch/zap/v15 v15.0.1 + github.com/blevesearch/zap/v11 v11.0.13 + github.com/blevesearch/zap/v12 v12.0.13 + github.com/blevesearch/zap/v13 v13.0.5 + github.com/blevesearch/zap/v14 v14.0.4 + github.com/blevesearch/zap/v15 v15.0.2 github.com/couchbase/moss v0.1.0 github.com/couchbase/vellum v1.0.2 github.com/golang/protobuf v1.3.2 diff --git a/vendor/github.com/blevesearch/bleve/mapping/document.go b/vendor/github.com/blevesearch/bleve/mapping/document.go index 355a602e55..dd42fab960 100644 --- a/vendor/github.com/blevesearch/bleve/mapping/document.go +++ b/vendor/github.com/blevesearch/bleve/mapping/document.go @@ -106,28 +106,31 @@ func (dm *DocumentMapping) fieldDescribedByPath(path string) *FieldMapping { return subDocMapping.fieldDescribedByPath(encodePath(pathElements[1:])) } } - } else { - // just 1 path elememnt - // first look for property name with empty field - for propName, subDocMapping := range dm.Properties { - if propName == pathElements[0] { - // found property name match, now look at its fields - for _, field := range subDocMapping.Fields { - if field.Name == "" || field.Name == pathElements[0] { - // match - return field - } + } + + // either the path just had one element + // or it had multiple, but no match for the first element at this level + // look for match with full path + + // first look for property name with empty field + for propName, subDocMapping := range dm.Properties { + if propName == path { + // found property name match, now look at its fields + for _, field := range subDocMapping.Fields { + if field.Name == "" || field.Name == path { + // match + return field } } } - // next, walk the properties again, looking for field overriding the name - for propName, subDocMapping := range dm.Properties { - if propName != pathElements[0] { - // property name isn't a match, but field name could override it - for _, field := range subDocMapping.Fields { - if field.Name == pathElements[0] { - return field - } + } + // next, walk the properties again, looking for field overriding the name + for propName, subDocMapping := range dm.Properties { + if propName != path { + // property name isn't a match, but field name could override it + for _, field := range subDocMapping.Fields { + if field.Name == path { + return field } } } diff --git a/vendor/github.com/blevesearch/bleve/mapping/index.go b/vendor/github.com/blevesearch/bleve/mapping/index.go index 21ca5cce36..319ba949c8 100644 --- a/vendor/github.com/blevesearch/bleve/mapping/index.go +++ b/vendor/github.com/blevesearch/bleve/mapping/index.go @@ -50,7 +50,7 @@ type IndexMappingImpl struct { DefaultField string `json:"default_field"` StoreDynamic bool `json:"store_dynamic"` IndexDynamic bool `json:"index_dynamic"` - DocValuesDynamic bool `json:"docvalues_dynamic,omitempty"` + DocValuesDynamic bool `json:"docvalues_dynamic"` CustomAnalysis *customAnalysis `json:"analysis,omitempty"` cache *registry.Cache } diff --git a/vendor/github.com/blevesearch/zap/v11/go.mod b/vendor/github.com/blevesearch/zap/v11/go.mod index 13496f146c..0dc5dc4ee6 100644 --- a/vendor/github.com/blevesearch/zap/v11/go.mod +++ b/vendor/github.com/blevesearch/zap/v11/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( github.com/RoaringBitmap/roaring v0.4.23 - github.com/blevesearch/bleve v1.0.12 + github.com/blevesearch/bleve v1.0.13 github.com/blevesearch/mmap-go v1.0.2 github.com/couchbase/vellum v1.0.2 github.com/golang/snappy v0.0.1 diff --git a/vendor/github.com/blevesearch/zap/v12/go.mod b/vendor/github.com/blevesearch/zap/v12/go.mod index f072c8c339..edbc839487 100644 --- a/vendor/github.com/blevesearch/zap/v12/go.mod +++ b/vendor/github.com/blevesearch/zap/v12/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( github.com/RoaringBitmap/roaring v0.4.23 - github.com/blevesearch/bleve v1.0.12 + github.com/blevesearch/bleve v1.0.13 github.com/blevesearch/mmap-go v1.0.2 github.com/couchbase/vellum v1.0.2 github.com/golang/snappy v0.0.1 diff --git a/vendor/github.com/blevesearch/zap/v13/go.mod b/vendor/github.com/blevesearch/zap/v13/go.mod index d1c802f712..364c44e524 100644 --- a/vendor/github.com/blevesearch/zap/v13/go.mod +++ b/vendor/github.com/blevesearch/zap/v13/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( github.com/RoaringBitmap/roaring v0.4.23 - github.com/blevesearch/bleve v1.0.12 + github.com/blevesearch/bleve v1.0.13 github.com/blevesearch/mmap-go v1.0.2 github.com/couchbase/vellum v1.0.2 github.com/golang/snappy v0.0.1 diff --git a/vendor/github.com/blevesearch/zap/v14/go.mod b/vendor/github.com/blevesearch/zap/v14/go.mod index fde3e0a7b4..42446b9767 100644 --- a/vendor/github.com/blevesearch/zap/v14/go.mod +++ b/vendor/github.com/blevesearch/zap/v14/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( github.com/RoaringBitmap/roaring v0.4.23 - github.com/blevesearch/bleve v1.0.12 + github.com/blevesearch/bleve v1.0.13 github.com/blevesearch/mmap-go v1.0.2 github.com/couchbase/vellum v1.0.2 github.com/golang/snappy v0.0.1 diff --git a/vendor/github.com/blevesearch/zap/v15/go.mod b/vendor/github.com/blevesearch/zap/v15/go.mod index 257364b272..c4e5a1995d 100644 --- a/vendor/github.com/blevesearch/zap/v15/go.mod +++ b/vendor/github.com/blevesearch/zap/v15/go.mod @@ -4,7 +4,7 @@ go 1.12 require ( github.com/RoaringBitmap/roaring v0.4.23 - github.com/blevesearch/bleve v1.0.12 + github.com/blevesearch/bleve v1.0.13 github.com/blevesearch/mmap-go v1.0.2 github.com/couchbase/vellum v1.0.2 github.com/golang/snappy v0.0.1 diff --git a/vendor/github.com/blevesearch/zap/v15/intDecoder.go b/vendor/github.com/blevesearch/zap/v15/intDecoder.go index 3baa0c2a64..ea8021da47 100644 --- a/vendor/github.com/blevesearch/zap/v15/intDecoder.go +++ b/vendor/github.com/blevesearch/zap/v15/intDecoder.go @@ -105,6 +105,10 @@ func (d *chunkedIntDecoder) readUvarint() (uint64, error) { return d.r.ReadUvarint() } +func (d *chunkedIntDecoder) readBytes(start, end int) []byte { + return d.curChunkBytes[start:end] +} + func (d *chunkedIntDecoder) SkipUvarint() { d.r.SkipUvarint() } @@ -116,3 +120,7 @@ func (d *chunkedIntDecoder) SkipBytes(count int) { func (d *chunkedIntDecoder) Len() int { return d.r.Len() } + +func (d *chunkedIntDecoder) remainingLen() int { + return len(d.curChunkBytes) - d.r.Len() +} diff --git a/vendor/github.com/blevesearch/zap/v15/merge.go b/vendor/github.com/blevesearch/zap/v15/merge.go index 1de0debcef..0d73c1ecf7 100644 --- a/vendor/github.com/blevesearch/zap/v15/merge.go +++ b/vendor/github.com/blevesearch/zap/v15/merge.go @@ -341,11 +341,16 @@ func persistMergedRest(segments []*SegmentBase, dropsIn []*roaring.Bitmap, postItr = postings.iterator(true, true, true, postItr) - // can no longer optimize by copying, since chunk factor could have changed - lastDocNum, lastFreq, lastNorm, bufLoc, err = mergeTermFreqNormLocs( - fieldsMap, term, postItr, newDocNums[itrI], newRoaring, - tfEncoder, locEncoder, bufLoc) - + if fieldsSame { + // can optimize by copying freq/norm/loc bytes directly + lastDocNum, lastFreq, lastNorm, err = mergeTermFreqNormLocsByCopying( + term, postItr, newDocNums[itrI], newRoaring, + tfEncoder, locEncoder) + } else { + lastDocNum, lastFreq, lastNorm, bufLoc, err = mergeTermFreqNormLocs( + fieldsMap, term, postItr, newDocNums[itrI], newRoaring, + tfEncoder, locEncoder, bufLoc) + } if err != nil { return nil, 0, err } @@ -473,6 +478,42 @@ func persistMergedRest(segments []*SegmentBase, dropsIn []*roaring.Bitmap, return rv, fieldDvLocsOffset, nil } +func mergeTermFreqNormLocsByCopying(term []byte, postItr *PostingsIterator, + newDocNums []uint64, newRoaring *roaring.Bitmap, + tfEncoder *chunkedIntCoder, locEncoder *chunkedIntCoder) ( + lastDocNum uint64, lastFreq uint64, lastNorm uint64, err error) { + nextDocNum, nextFreq, nextNorm, nextFreqNormBytes, nextLocBytes, err := + postItr.nextBytes() + for err == nil && len(nextFreqNormBytes) > 0 { + hitNewDocNum := newDocNums[nextDocNum] + if hitNewDocNum == docDropped { + return 0, 0, 0, fmt.Errorf("see hit with dropped doc num") + } + + newRoaring.Add(uint32(hitNewDocNum)) + err = tfEncoder.AddBytes(hitNewDocNum, nextFreqNormBytes) + if err != nil { + return 0, 0, 0, err + } + + if len(nextLocBytes) > 0 { + err = locEncoder.AddBytes(hitNewDocNum, nextLocBytes) + if err != nil { + return 0, 0, 0, err + } + } + + lastDocNum = hitNewDocNum + lastFreq = nextFreq + lastNorm = nextNorm + + nextDocNum, nextFreq, nextNorm, nextFreqNormBytes, nextLocBytes, err = + postItr.nextBytes() + } + + return lastDocNum, lastFreq, lastNorm, err +} + func mergeTermFreqNormLocs(fieldsMap map[string]uint16, term []byte, postItr *PostingsIterator, newDocNums []uint64, newRoaring *roaring.Bitmap, tfEncoder *chunkedIntCoder, locEncoder *chunkedIntCoder, bufLoc []uint64) ( diff --git a/vendor/github.com/blevesearch/zap/v15/posting.go b/vendor/github.com/blevesearch/zap/v15/posting.go index a323afd2cd..75faa5d702 100644 --- a/vendor/github.com/blevesearch/zap/v15/posting.go +++ b/vendor/github.com/blevesearch/zap/v15/posting.go @@ -588,6 +588,58 @@ func (i *PostingsIterator) nextDocNumAtOrAfter(atOrAfter uint64) (uint64, bool, return uint64(n), true, nil } +var freqHasLocs1Hit = encodeFreqHasLocs(1, false) + +// nextBytes returns the docNum and the encoded freq & loc bytes for +// the next posting +func (i *PostingsIterator) nextBytes() ( + docNumOut uint64, freq uint64, normBits uint64, + bytesFreqNorm []byte, bytesLoc []byte, err error) { + docNum, exists, err := i.nextDocNumAtOrAfter(0) + if err != nil || !exists { + return 0, 0, 0, nil, nil, err + } + + if i.normBits1Hit != 0 { + if i.buf == nil { + i.buf = make([]byte, binary.MaxVarintLen64*2) + } + n := binary.PutUvarint(i.buf, freqHasLocs1Hit) + n += binary.PutUvarint(i.buf[n:], i.normBits1Hit) + return docNum, uint64(1), i.normBits1Hit, i.buf[:n], nil, nil + } + + startFreqNorm := i.freqNormReader.remainingLen() + + var hasLocs bool + + freq, normBits, hasLocs, err = i.readFreqNormHasLocs() + if err != nil { + return 0, 0, 0, nil, nil, err + } + + endFreqNorm := i.freqNormReader.remainingLen() + bytesFreqNorm = i.freqNormReader.readBytes(startFreqNorm, endFreqNorm) + + if hasLocs { + startLoc := i.locReader.remainingLen() + + numLocsBytes, err := i.locReader.readUvarint() + if err != nil { + return 0, 0, 0, nil, nil, + fmt.Errorf("error reading location nextBytes numLocs: %v", err) + } + + // skip over all the location bytes + i.locReader.SkipBytes(int(numLocsBytes)) + + endLoc := i.locReader.remainingLen() + bytesLoc = i.locReader.readBytes(startLoc, endLoc) + } + + return docNum, freq, normBits, bytesFreqNorm, bytesLoc, nil +} + // optimization when the postings list is "clean" (e.g., no updates & // no deletions) where the all bitmap is the same as the actual bitmap func (i *PostingsIterator) nextDocNumAtOrAfterClean( diff --git a/vendor/github.com/blevesearch/zap/v15/segment.go b/vendor/github.com/blevesearch/zap/v15/segment.go index e8b1f067fe..2d158e86ea 100644 --- a/vendor/github.com/blevesearch/zap/v15/segment.go +++ b/vendor/github.com/blevesearch/zap/v15/segment.go @@ -194,7 +194,7 @@ func (s *Segment) loadConfig() error { verOffset := crcOffset - 4 s.version = binary.BigEndian.Uint32(s.mm[verOffset : verOffset+4]) if s.version != Version { - return fmt.Errorf("unsupported version %d", s.version) + return fmt.Errorf("unsupported version %d != %d", s.version, Version) } chunkOffset := verOffset - 4 |