Skip to content

Commit 2ddf8f4

Browse files
committed
Stash
1 parent a50d9d0 commit 2ddf8f4

File tree

4 files changed

+49
-103
lines changed

4 files changed

+49
-103
lines changed

go.mod

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
module github.com/blevesearch/bleve/v2
22

3-
go 1.24
3+
go 1.24.0
44

55
require (
6-
github.com/RoaringBitmap/roaring/v2 v2.4.5
7-
github.com/bits-and-blooms/bitset v1.22.0
8-
github.com/blevesearch/bleve_index_api v1.3.0
6+
github.com/RoaringBitmap/roaring/v2 v2.14.4
7+
github.com/bits-and-blooms/bitset v1.24.2
8+
github.com/blevesearch/bleve_index_api v1.3.1
99
github.com/blevesearch/geo v0.2.4
1010
github.com/blevesearch/go-faiss v1.0.27
1111
github.com/blevesearch/go-metrics v0.0.0-20201227073835-cf1acfcdf475
1212
github.com/blevesearch/go-porterstemmer v1.0.3
1313
github.com/blevesearch/goleveldb v1.0.1
1414
github.com/blevesearch/gtreap v0.1.1
15-
github.com/blevesearch/scorch_segment_api/v2 v2.4.0
15+
github.com/blevesearch/scorch_segment_api/v2 v2.4.1
1616
github.com/blevesearch/segment v0.9.1
1717
github.com/blevesearch/snowball v0.6.1
1818
github.com/blevesearch/snowballstem v0.9.0
1919
github.com/blevesearch/stempel v0.2.0
2020
github.com/blevesearch/upsidedown_store_api v1.0.2
21-
github.com/blevesearch/vellum v1.1.0
21+
github.com/blevesearch/vellum v1.2.0
2222
github.com/blevesearch/zapx/v11 v11.4.2
2323
github.com/blevesearch/zapx/v12 v12.4.2
2424
github.com/blevesearch/zapx/v13 v13.4.2
@@ -27,19 +27,23 @@ require (
2727
github.com/blevesearch/zapx/v16 v16.3.0
2828
github.com/blevesearch/zapx/v17 v17.0.0
2929
github.com/couchbase/moss v0.2.0
30-
github.com/spf13/cobra v1.8.1
30+
github.com/spf13/cobra v1.10.2
3131
go.etcd.io/bbolt v1.4.0
3232
golang.org/x/text v0.8.0
3333
google.golang.org/protobuf v1.36.6
3434
)
3535

3636
require (
37-
github.com/blevesearch/mmap-go v1.0.4 // indirect
37+
github.com/blevesearch/mmap-go v1.2.0 // indirect
3838
github.com/couchbase/ghistogram v0.1.0 // indirect
39-
github.com/golang/snappy v0.0.4 // indirect
39+
github.com/golang/snappy v1.0.0 // indirect
4040
github.com/inconshreveable/mousetrap v1.1.0 // indirect
4141
github.com/json-iterator/go v0.0.0-20171115153421-f7279a603ede // indirect
4242
github.com/mschoch/smat v0.2.0 // indirect
43-
github.com/spf13/pflag v1.0.6 // indirect
44-
golang.org/x/sys v0.29.0 // indirect
43+
github.com/spf13/pflag v1.0.9 // indirect
44+
golang.org/x/sys v0.40.0 // indirect
4545
)
46+
47+
replace github.com/blevesearch/bleve_index_api => ../bleve_index_api
48+
49+
replace github.com/blevesearch/zapx/v17 => ../zapx

go.sum

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
github.com/RoaringBitmap/roaring/v2 v2.4.5 h1:uGrrMreGjvAtTBobc0g5IrW1D5ldxDQYe2JW2gggRdg=
2-
github.com/RoaringBitmap/roaring/v2 v2.4.5/go.mod h1:FiJcsfkGje/nZBZgCu0ZxCPOKD/hVXDS2dXi7/eUFE0=
3-
github.com/bits-and-blooms/bitset v1.12.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
4-
github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4=
5-
github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
6-
github.com/blevesearch/bleve_index_api v1.3.0 h1:DsMpWVjFNlBw9/6pyWf59XoqcAkhHj3H0UWiQsavb6E=
7-
github.com/blevesearch/bleve_index_api v1.3.0/go.mod h1:xvd48t5XMeeioWQ5/jZvgLrV98flT2rdvEJ3l/ki4Ko=
1+
github.com/RoaringBitmap/roaring/v2 v2.14.4 h1:4aKySrrg9G/5oRtJ3TrZLObVqxgQ9f1znCRBwEwjuVw=
2+
github.com/RoaringBitmap/roaring/v2 v2.14.4/go.mod h1:oMvV6omPWr+2ifRdeZvVJyaz+aoEUopyv5iH0u/+wbY=
3+
github.com/bits-and-blooms/bitset v1.24.2 h1:M7/NzVbsytmtfHbumG+K2bremQPMJuqv1JD3vOaFxp0=
4+
github.com/bits-and-blooms/bitset v1.24.2/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
85
github.com/blevesearch/geo v0.2.4 h1:ECIGQhw+QALCZaDcogRTNSJYQXRtC8/m8IKiA706cqk=
96
github.com/blevesearch/geo v0.2.4/go.mod h1:K56Q33AzXt2YExVHGObtmRSFYZKYGv0JEN5mdacJJR8=
107
github.com/blevesearch/go-faiss v1.0.27 h1:7cBImYDDQ82WJd5RUZ1ie6zXztCsC73W94ZzwOjkatk=
@@ -18,10 +15,10 @@ github.com/blevesearch/goleveldb v1.0.1/go.mod h1:WrU8ltZbIp0wAoig/MHbrPCXSOLpe7
1815
github.com/blevesearch/gtreap v0.1.1 h1:2JWigFrzDMR+42WGIN/V2p0cUvn4UP3C4Q5nmaZGW8Y=
1916
github.com/blevesearch/gtreap v0.1.1/go.mod h1:QaQyDRAT51sotthUWAH4Sj08awFSSWzgYICSZ3w0tYk=
2017
github.com/blevesearch/mmap-go v1.0.2/go.mod h1:ol2qBqYaOUsGdm7aRMRrYGgPvnwLe6Y+7LMvAB5IbSA=
21-
github.com/blevesearch/mmap-go v1.0.4 h1:OVhDhT5B/M1HNPpYPBKIEJaD0F3Si+CrEKULGCDPWmc=
22-
github.com/blevesearch/mmap-go v1.0.4/go.mod h1:EWmEAOmdAS9z/pi/+Toxu99DnsbhG1TIxUoRmJw/pSs=
23-
github.com/blevesearch/scorch_segment_api/v2 v2.4.0 h1:OtipwURRzZv6UFmHQnbEqOY90eotINQ2TtSSpWfYuWU=
24-
github.com/blevesearch/scorch_segment_api/v2 v2.4.0/go.mod h1:JalWE/eyEgISwhqtKXoaHMKf5t+F4kXiYrgg0ds3ylw=
18+
github.com/blevesearch/mmap-go v1.2.0 h1:l33nNKPFcBjJUMwem6sAYJPUzhUCABoK9FxZDGiFNBI=
19+
github.com/blevesearch/mmap-go v1.2.0/go.mod h1:Vd6+20GBhEdwJnU1Xohgt88XCD/CTWcqbCNxkZpyBo0=
20+
github.com/blevesearch/scorch_segment_api/v2 v2.4.1 h1:os52/JeCSLZ0YUkOuLk/Z7pu0SKUMofDPUg+VnbrRD0=
21+
github.com/blevesearch/scorch_segment_api/v2 v2.4.1/go.mod h1:zvilBm4BNfbnTRLW7KgCTNgk2R31JaWzwRc2BEcD7Is=
2522
github.com/blevesearch/segment v0.9.1 h1:+dThDy+Lvgj5JMxhmOVlgFfkUtZV2kw49xax4+jTfSU=
2623
github.com/blevesearch/segment v0.9.1/go.mod h1:zN21iLm7+GnBHWTao9I+Au/7MBiL8pPFtJBJTsk6kQw=
2724
github.com/blevesearch/snowball v0.6.1 h1:cDYjn/NCH+wwt2UdehaLpr2e4BwLIjN4V/TdLsL+B5A=
@@ -32,8 +29,8 @@ github.com/blevesearch/stempel v0.2.0 h1:CYzVPaScODMvgE9o+kf6D4RJ/VRomyi9uHF+PtB
3229
github.com/blevesearch/stempel v0.2.0/go.mod h1:wjeTHqQv+nQdbPuJ/YcvOjTInA2EIc6Ks1FoSUzSLvc=
3330
github.com/blevesearch/upsidedown_store_api v1.0.2 h1:U53Q6YoWEARVLd1OYNc9kvhBMGZzVrdmaozG2MfoB+A=
3431
github.com/blevesearch/upsidedown_store_api v1.0.2/go.mod h1:M01mh3Gpfy56Ps/UXHjEO/knbqyQ1Oamg8If49gRwrQ=
35-
github.com/blevesearch/vellum v1.1.0 h1:CinkGyIsgVlYf8Y2LUQHvdelgXr6PYuvoDIajq6yR9w=
36-
github.com/blevesearch/vellum v1.1.0/go.mod h1:QgwWryE8ThtNPxtgWJof5ndPfx0/YMBh+W2weHKPw8Y=
32+
github.com/blevesearch/vellum v1.2.0 h1:xkDiOEsHc2t3Cp0NsNZZ36pvc130sCzcGKOPMzXe+e0=
33+
github.com/blevesearch/vellum v1.2.0/go.mod h1:uEcfBJz7mAOf0Kvq6qoEKQQkLODBF46SINYNkZNae4k=
3734
github.com/blevesearch/zapx/v11 v11.4.2 h1:l46SV+b0gFN+Rw3wUI1YdMWdSAVhskYuvxlcgpQFljs=
3835
github.com/blevesearch/zapx/v11 v11.4.2/go.mod h1:4gdeyy9oGa/lLa6D34R9daXNUvfMPZqUYjPwiLmekwc=
3936
github.com/blevesearch/zapx/v12 v12.4.2 h1:fzRbhllQmEMUuAQ7zBuMvKRlcPA5ESTgWlDEoB9uQNE=
@@ -46,21 +43,18 @@ github.com/blevesearch/zapx/v15 v15.4.2 h1:sWxpDE0QQOTjyxYbAVjt3+0ieu8NCE0fDRaFx
4643
github.com/blevesearch/zapx/v15 v15.4.2/go.mod h1:1pssev/59FsuWcgSnTa0OeEpOzmhtmr/0/11H0Z8+Nw=
4744
github.com/blevesearch/zapx/v16 v16.3.0 h1:hF6VlN15E9CB40RMPyqOIhlDw1OOo9RItumhKMQktxw=
4845
github.com/blevesearch/zapx/v16 v16.3.0/go.mod h1:zCFjv7McXWm1C8rROL+3mUoD5WYe2RKsZP3ufqcYpLY=
49-
github.com/blevesearch/zapx/v17 v17.0.0 h1:srLJFkv5ghz1Z8iVz5uoOK89G2NvI4KdMG7aF3Cx7rE=
50-
github.com/blevesearch/zapx/v17 v17.0.0/go.mod h1:/pi9Gq7byQcduhNB6Vk08+ZXGVGPjZoNc5QnQY8lkOo=
5146
github.com/couchbase/ghistogram v0.1.0 h1:b95QcQTCzjTUocDXp/uMgSNQi8oj1tGwnJ4bODWZnps=
5247
github.com/couchbase/ghistogram v0.1.0/go.mod h1:s1Jhy76zqfEecpNWJfWUiKZookAFaiGOEoyzgHt9i7k=
5348
github.com/couchbase/moss v0.2.0 h1:VCYrMzFwEryyhRSeI+/b3tRBSeTpi/8gn5Kf6dxqn+o=
5449
github.com/couchbase/moss v0.2.0/go.mod h1:9MaHIaRuy9pvLPUJxB8sh8OrLfyDczECVL37grCIubs=
55-
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
56-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
50+
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
5751
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
5852
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5953
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
6054
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
6155
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
62-
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
63-
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
56+
github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs=
57+
github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
6458
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
6559
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
6660
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
@@ -83,27 +77,24 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
8377
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
8478
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
8579
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
86-
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
87-
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
88-
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
89-
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
90-
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
91-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
92-
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
93-
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
94-
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
80+
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
81+
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
82+
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
83+
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
84+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
85+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
9586
go.etcd.io/bbolt v1.4.0 h1:TU77id3TnN/zKr7CO/uk+fBCwF2jGcMuw2B/FMAzYIk=
9687
go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk=
88+
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
9789
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd h1:nTDtHvHSdCn1m6ITfMRqtOd/9+7a3s8RBNOZ3eYZzJA=
9890
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
9991
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
10092
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
10193
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
10294
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
10395
golang.org/x/sys v0.0.0-20181221143128-b4a75ba826a6/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
104-
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
105-
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
106-
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
96+
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
97+
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
10798
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
10899
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
109100
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
@@ -118,7 +109,5 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkep
118109
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
119110
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
120111
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
121-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
122-
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
123112
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
124113
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

index/scorch/snapshot_segment.go

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package scorch
1616

1717
import (
18-
"bytes"
1918
"os"
2019
"sync"
2120
"sync/atomic"
@@ -180,9 +179,9 @@ func (s *SegmentSnapshot) UpdateFieldsInfo(updatedFields map[string]*index.Updat
180179

181180
type cachedFieldDocs struct {
182181
m sync.Mutex
183-
readyCh chan struct{} // closed when the cachedFieldDocs.docs is ready to be used.
184-
err error // Non-nil if there was an error when preparing this cachedFieldDocs.
185-
docs map[uint64][]byte // Keyed by localDocNum, value is a list of terms delimited by 0xFF.
182+
readyCh chan struct{} // closed when the cachedFieldDocs.docs is ready to be used.
183+
err error // Non-nil if there was an error when preparing this cachedFieldDocs.
184+
docs map[uint64][]string // Keyed by localDocNum, value is a list of terms delimited by 0xFF.
186185
size uint64
187186
}
188187

@@ -228,8 +227,7 @@ func (cfd *cachedFieldDocs) prepareField(field string, ss *SegmentSnapshot) {
228227
nextPosting, err2 := postingsItr.Next()
229228
for err2 == nil && nextPosting != nil {
230229
docNum := nextPosting.Number()
231-
cfd.docs[docNum] = append(cfd.docs[docNum], []byte(next.Term)...)
232-
cfd.docs[docNum] = append(cfd.docs[docNum], index.DocValueTermSeparator)
230+
cfd.docs[docNum] = append(cfd.docs[docNum], next.Term)
233231
cfd.size += uint64(len(next.Term) + 1) // map value
234232
nextPosting, err2 = postingsItr.Next()
235233
}
@@ -266,7 +264,7 @@ func (c *cachedDocs) prepareFields(wantedFields []string, ss *SegmentSnapshot) e
266264
if !exists {
267265
c.cache[field] = &cachedFieldDocs{
268266
readyCh: make(chan struct{}),
269-
docs: make(map[uint64][]byte),
267+
docs: make(map[uint64][]string),
270268
}
271269

272270
go c.cache[field].prepareField(field, ss)
@@ -329,13 +327,8 @@ func (c *cachedDocs) visitDoc(localDocNum uint64,
329327
c.m.RLock()
330328

331329
if tlist, exists := cachedFieldDocs.docs[localDocNum]; exists {
332-
for {
333-
i := bytes.IndexByte(tlist, index.DocValueTermSeparator)
334-
if i < 0 {
335-
break
336-
}
337-
visitor(field, tlist[0:i])
338-
tlist = tlist[i+1:]
330+
for _, term := range tlist {
331+
visitor(field, []byte(term))
339332
}
340333
}
341334
}

search/searcher/search_geoshape.go

Lines changed: 5 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -63,66 +63,26 @@ func buildRelationFilterOnShapes(ctx context.Context, dvReader index.DocValueRea
6363
) FilterFunc {
6464
// this is for accumulating the shape's actual complete value
6565
// spread across multiple docvalue visitor callbacks.
66-
var dvShapeValue []byte
67-
var startReading, finishReading, found bool
6866
var reader *bytes.Reader
67+
var found bool
6968

7069
var bufPool *s2.GeoBufferPool
7170
if bufPoolCallback, ok := ctx.Value(search.GeoBufferPoolCallbackKey).(search.GeoBufferPoolCallbackFunc); ok {
7271
bufPool = bufPoolCallback()
7372
}
7473

7574
dvVisitor := func(_ string, term []byte) {
76-
if found {
77-
// avoid redundant work if already found
78-
return
79-
}
80-
tl := len(term)
81-
// only consider the values which are GlueBytes prefixed or
82-
// if it had already started reading the shape bytes from previous callbacks.
83-
if startReading || tl > geo.GlueBytesOffset {
84-
85-
if !startReading && bytes.Equal(geo.GlueBytes, term[:geo.GlueBytesOffset]) {
86-
startReading = true
87-
88-
if bytes.Equal(geo.GlueBytes, term[tl-geo.GlueBytesOffset:]) {
89-
term = term[:tl-geo.GlueBytesOffset]
90-
finishReading = true
91-
}
92-
93-
dvShapeValue = append(dvShapeValue, term[geo.GlueBytesOffset:]...)
94-
95-
} else if startReading && !finishReading {
96-
if tl > geo.GlueBytesOffset &&
97-
bytes.Equal(geo.GlueBytes, term[tl-geo.GlueBytesOffset:]) {
98-
term = term[:tl-geo.GlueBytesOffset]
99-
finishReading = true
100-
}
101-
102-
dvShapeValue = append(dvShapeValue, index.DocValueTermSeparator)
103-
dvShapeValue = append(dvShapeValue, term...)
104-
}
105-
106-
// apply the filter once the entire docvalue is finished reading.
107-
if finishReading {
108-
v, err := geojson.FilterGeoShapesOnRelation(shape, dvShapeValue, relation, &reader, bufPool)
109-
if err == nil && v {
110-
found = true
111-
}
112-
113-
dvShapeValue = dvShapeValue[:0]
114-
startReading = false
115-
finishReading = false
75+
if len(term) > 4 && bytes.Equal(term[0:2], geo.GlueBytes) && bytes.Equal(term[len(term)-2:], geo.GlueBytes) {
76+
v, err := geojson.FilterGeoShapesOnRelation(shape, term[2:len(term)-2], relation, &reader, bufPool)
77+
if err == nil && v {
78+
found = true
11679
}
11780
}
11881
}
11982

12083
return func(sctx *search.SearchContext, d *search.DocumentMatch) bool {
12184
// reset state variables for each document
12285
found = false
123-
startReading = false
124-
finishReading = false
125-
dvShapeValue = dvShapeValue[:0]
12686
if err := dvReader.VisitDocValues(d.IndexInternalID, dvVisitor); err == nil && found {
12787
bytes := dvReader.BytesRead()
12888
if bytes > 0 {

0 commit comments

Comments
 (0)