Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateIndex ¶
Types ¶
type Options ¶
type Options struct { // Query is the search query used for a text search. Query string `json:"query" query:"q" default:""` // Sort is the field, that should be sorted by. // When left empty, the default sorting is used. Sort string `json:"sort" query:"sort" validate:"oneof=score added modified weighed_score review_count"` // LocalFirst determines whether the results from the current instance should be // preferred over remote results. LocalFirst bool `json:"localFirst,omitempty" query:"local_first" default:"true"` // SortDescending defines the sort order. SortDescending bool `json:"SortDescending" query:"desc" default:"true"` // Fuzzy defines whether to use fuzzy or wildcard search. Fuzzy bool `json:"fuzzy,omitempty" query:"fuzzy" default:"false"` // Page is current page. Page uint `json:"page" query:"page" default:"0"` // PageSize defines the number of hits returned per page. // // PageSize is infinite when set to 0 (i.e. infinite scroll). PageSize uint `json:"pageSize" query:"pageSize" default:"10" validate:"gte=0,lte=180"` // Categories are the categories to search in. By default, // a Union category is performed to search in all categories. Categories []target.Category `json:"categories" query:"category" validate:"unique,dive" default:"union"` // Aggregations is a map of aggregations, to perform aggregations on fields. // The provided map key can be used to identify the corresponding bucket in // the result. Aggregations *[]interface{} `json:"aggregations,omitempty" query:"aggregations,omitempty"` }
Options defines a set of optional search parameters.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) HandleSearch ¶
TODO: add aggregations documentation TODO: make better use of POST support @Summary Perform a search for the given query and options @Description Search for media, users, posts, artists, etc. @Tags search,media,metadata,users,posts,reviews @Param X-CSRF-Token header string false "CSRF token. Required when using POST." @Param q query string false "The search query. Falls back to a wildcard query if not provided." @Param category query string false "The category to search in" Enums(union,users,groups,artists,media,posts,reviews,tags,genres) @Param aggregations query string false "The aggregations to perform on the search results" @Param fuzzy query boolean false "Whether to perform a fuzzy search" @Param sort query string false "The field to sort the results by" Enums(score,added,modified,weighed_score,review_count) @Param desc query boolean false "Whether to sort the results in descending order" @Param page query integer false "The page to return" @Param pageSize query integer false "The number of results to return per page" @Accept json @Router /search [post] @Router /search [get]