mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	Upgrade bleve from v2.0.6 to v2.3.0 (#18132)
This commit is contained in:
		
					parent
					
						
							
								1a4e2bfcd1
							
						
					
				
			
			
				commit
				
					
						25a290e320
					
				
			
		
					 70 changed files with 1283 additions and 660 deletions
				
			
		
							
								
								
									
										132
									
								
								vendor/github.com/blevesearch/bleve/v2/document/field_ip.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								vendor/github.com/blevesearch/bleve/v2/document/field_ip.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,132 @@ | |||
| //  Copyright (c) 2021 Couchbase, Inc. | ||||
| // | ||||
| // Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| // you may not use this file except in compliance with the License. | ||||
| // You may obtain a copy of the License at | ||||
| // | ||||
| // 		http://www.apache.org/licenses/LICENSE-2.0 | ||||
| // | ||||
| // Unless required by applicable law or agreed to in writing, software | ||||
| // distributed under the License is distributed on an "AS IS" BASIS, | ||||
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| // See the License for the specific language governing permissions and | ||||
| // limitations under the License. | ||||
| 
 | ||||
| package document | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"net" | ||||
| 	"reflect" | ||||
| 
 | ||||
| 	"github.com/blevesearch/bleve/v2/analysis" | ||||
| 	"github.com/blevesearch/bleve/v2/size" | ||||
| 	index "github.com/blevesearch/bleve_index_api" | ||||
| ) | ||||
| 
 | ||||
| var reflectStaticSizeIPField int | ||||
| 
 | ||||
| func init() { | ||||
| 	var f IPField | ||||
| 	reflectStaticSizeIPField = int(reflect.TypeOf(f).Size()) | ||||
| } | ||||
| 
 | ||||
| const DefaultIPIndexingOptions = index.StoreField | index.IndexField | index.DocValues | index.IncludeTermVectors | ||||
| 
 | ||||
| type IPField struct { | ||||
| 	name              string | ||||
| 	arrayPositions    []uint64 | ||||
| 	options           index.FieldIndexingOptions | ||||
| 	value             net.IP | ||||
| 	numPlainTextBytes uint64 | ||||
| 	length            int | ||||
| 	frequencies       index.TokenFrequencies | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) Size() int { | ||||
| 	return reflectStaticSizeIPField + size.SizeOfPtr + | ||||
| 		len(b.name) + | ||||
| 		len(b.arrayPositions)*size.SizeOfUint64 + | ||||
| 		len(b.value) | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) Name() string { | ||||
| 	return b.name | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) ArrayPositions() []uint64 { | ||||
| 	return b.arrayPositions | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) Options() index.FieldIndexingOptions { | ||||
| 	return b.options | ||||
| } | ||||
| 
 | ||||
| func (n *IPField) EncodedFieldType() byte { | ||||
| 	return 'i' | ||||
| } | ||||
| 
 | ||||
| func (n *IPField) AnalyzedLength() int { | ||||
| 	return n.length | ||||
| } | ||||
| 
 | ||||
| func (n *IPField) AnalyzedTokenFrequencies() index.TokenFrequencies { | ||||
| 	return n.frequencies | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) Analyze() { | ||||
| 
 | ||||
| 	tokens := analysis.TokenStream{ | ||||
| 		&analysis.Token{ | ||||
| 			Start:    0, | ||||
| 			End:      len(b.value), | ||||
| 			Term:     b.value, | ||||
| 			Position: 1, | ||||
| 			Type:     analysis.IP, | ||||
| 		}, | ||||
| 	} | ||||
| 	b.length = 1 | ||||
| 	b.frequencies = analysis.TokenFrequency(tokens, b.arrayPositions, b.options) | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) Value() []byte { | ||||
| 	return b.value | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) IP() (net.IP, error) { | ||||
| 	return net.IP(b.value), nil | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) GoString() string { | ||||
| 	return fmt.Sprintf("&document.IPField{Name:%s, Options: %s, Value: %s}", b.name, b.options, net.IP(b.value)) | ||||
| } | ||||
| 
 | ||||
| func (b *IPField) NumPlainTextBytes() uint64 { | ||||
| 	return b.numPlainTextBytes | ||||
| } | ||||
| 
 | ||||
| func NewIPFieldFromBytes(name string, arrayPositions []uint64, value []byte) *IPField { | ||||
| 	return &IPField{ | ||||
| 		name:              name, | ||||
| 		arrayPositions:    arrayPositions, | ||||
| 		value:             value, | ||||
| 		options:           DefaultNumericIndexingOptions, | ||||
| 		numPlainTextBytes: uint64(len(value)), | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func NewIPField(name string, arrayPositions []uint64, v net.IP) *IPField { | ||||
| 	return NewIPFieldWithIndexingOptions(name, arrayPositions, v, DefaultIPIndexingOptions) | ||||
| } | ||||
| 
 | ||||
| func NewIPFieldWithIndexingOptions(name string, arrayPositions []uint64, b net.IP, options index.FieldIndexingOptions) *IPField { | ||||
| 	v := b.To16() | ||||
| 
 | ||||
| 	return &IPField{ | ||||
| 		name:              name, | ||||
| 		arrayPositions:    arrayPositions, | ||||
| 		value:             v, | ||||
| 		options:           options, | ||||
| 		numPlainTextBytes: net.IPv6len, | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue