mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-11-04 03:27:23 -05:00 
			
		
		
		
	The vendor/ folder was created with the help of @FiloSottile's gvt and vendorcheck. Any dependencies of Caddy plugins outside this repo are not vendored. We do not remove any unused, vendored packages because vendorcheck -u only checks using the current build configuration; i.e. packages that may be imported by files toggled by build tags of other systems. CI tests have been updated to ignore the vendor/ folder. When Go 1.9 is released, a few of the go commands should be revised to again use ./... as it will ignore the vendor folder by default.
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2014 Google Inc. All rights reserved.
 | 
						|
// Use of this source code is governed by the Apache 2.0
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
package search
 | 
						|
 | 
						|
// Field is a name/value pair. A search index's document can be loaded and
 | 
						|
// saved as a sequence of Fields.
 | 
						|
type Field struct {
 | 
						|
	// Name is the field name. A valid field name matches /[A-Za-z][A-Za-z0-9_]*/.
 | 
						|
	Name string
 | 
						|
	// Value is the field value. The valid types are:
 | 
						|
	//  - string,
 | 
						|
	//  - search.Atom,
 | 
						|
	//  - search.HTML,
 | 
						|
	//  - time.Time (stored with millisecond precision),
 | 
						|
	//  - float64,
 | 
						|
	//  - GeoPoint.
 | 
						|
	Value interface{}
 | 
						|
	// Language is a two-letter ISO 639-1 code for the field's language,
 | 
						|
	// defaulting to "en" if nothing is specified. It may only be specified for
 | 
						|
	// fields of type string and search.HTML.
 | 
						|
	Language string
 | 
						|
	// Derived marks fields that were calculated as a result of a
 | 
						|
	// FieldExpression provided to Search. This field is ignored when saving a
 | 
						|
	// document.
 | 
						|
	Derived bool
 | 
						|
}
 | 
						|
 | 
						|
// Facet is a name/value pair which is used to add categorical information to a
 | 
						|
// document.
 | 
						|
type Facet struct {
 | 
						|
	// Name is the facet name. A valid facet name matches /[A-Za-z][A-Za-z0-9_]*/.
 | 
						|
	// A facet name cannot be longer than 500 characters.
 | 
						|
	Name string
 | 
						|
	// Value is the facet value.
 | 
						|
	//
 | 
						|
	// When being used in documents (for example, in
 | 
						|
	// DocumentMetadata.Facets), the valid types are:
 | 
						|
	//  - search.Atom,
 | 
						|
	//  - float64.
 | 
						|
	//
 | 
						|
	// When being used in SearchOptions.Refinements or being returned
 | 
						|
	// in FacetResult, the valid types are:
 | 
						|
	//  - search.Atom,
 | 
						|
	//  - search.Range.
 | 
						|
	Value interface{}
 | 
						|
}
 | 
						|
 | 
						|
// DocumentMetadata is a struct containing information describing a given document.
 | 
						|
type DocumentMetadata struct {
 | 
						|
	// Rank is an integer specifying the order the document will be returned in
 | 
						|
	// search results. If zero, the rank will be set to the number of seconds since
 | 
						|
	// 2011-01-01 00:00:00 UTC when being Put into an index.
 | 
						|
	Rank int
 | 
						|
	// Facets is the set of facets for this document.
 | 
						|
	Facets []Facet
 | 
						|
}
 | 
						|
 | 
						|
// FieldLoadSaver can be converted from and to a slice of Fields
 | 
						|
// with additional document metadata.
 | 
						|
type FieldLoadSaver interface {
 | 
						|
	Load([]Field, *DocumentMetadata) error
 | 
						|
	Save() ([]Field, *DocumentMetadata, error)
 | 
						|
}
 | 
						|
 | 
						|
// FieldList converts a []Field to implement FieldLoadSaver.
 | 
						|
type FieldList []Field
 | 
						|
 | 
						|
// Load loads all of the provided fields into l.
 | 
						|
// It does not first reset *l to an empty slice.
 | 
						|
func (l *FieldList) Load(f []Field, _ *DocumentMetadata) error {
 | 
						|
	*l = append(*l, f...)
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// Save returns all of l's fields as a slice of Fields.
 | 
						|
func (l *FieldList) Save() ([]Field, *DocumentMetadata, error) {
 | 
						|
	return *l, nil, nil
 | 
						|
}
 | 
						|
 | 
						|
var _ FieldLoadSaver = (*FieldList)(nil)
 |