Versions in this module Expand all Collapse all v2 v2.0.8 Dec 22, 2024 v2.0.7 Mar 1, 2024 v2.0.6 Feb 2, 2024 v2.0.5 Jan 29, 2024 v2.0.4 Jan 15, 2024 v2.0.3 Jan 18, 2024 Changes in this version type SourceData + func (sd *SourceData) CreateEmbedding(embeddings *openai.Client, tpl *template.Template, available []string) v2.0.2 Jan 15, 2024 v2.0.1 Jan 9, 2024 Changes in this version type SourceData + ContentVector []float64 + TitleVector []float64 v2.0.0 Dec 31, 2023 Changes in this version + const DefaultDomain + func AppendIfMissing(slice []string, s string) []string + func CheckJWT(tokenstring string, secret string, alg []string, subject string) error + func CheckJWTValid(tokenstring string, secret string, alg []string) (map[string]interface{}, error) + func CheckRequestJWT(req *http.Request, secret string, alg []string, subject string) error + func Compress(data []byte) []byte + func CreateLogger(module string, logfile string, loglevel string) (log *logging.Logger, lf *os.File) + func Decompress(data []byte) ([]byte, error) + func DefaultCertificate() (*tls.Certificate, error) + func FileExists(filename string) bool + func GUnzip(data string) (string, error) + func GetClaim(claim map[string]interface{}, name string) (string, error) + func Hash(data interface{}) ([16]byte, error) + func InList(slice []string, s string) bool + func KeyPair(domain string, expiration time.Time) ([]byte, []byte, error) + func Min(a, b int64) int64 + func NewJWT(secret string, subject string, alg string, valid int64, domain string, ...) (tokenString string, err error) + func PemCert(privKey *rsa.PrivateKey, domain string, expiration time.Time) ([]byte, error) + func SingleJoiningSlash(a, b string) string + func TrimLength(str string, length int, suffix string) string + func UrlAmp(u string, ampCache string, t string) (string, error) + type ApiResult struct + Message string + Result interface{} + Status string + type BaseStatus struct + AmpBase string + BaseUrl string + Canonical string + InstanceName string + JsonLD string + LoginUrl string + Notifications []Notification + OGPMeta string + OGPNamespace string + Plain bool + Prefixes map[string]string + RawQuery string + RelPath string + Self string + SelfPath string + Title string + Token string + Type string + User *User + func (bs BaseStatus) LinkCollections() string + func (bs BaseStatus) LinkSearch(query string, facets ...string) template.URL + func (bs BaseStatus) LinkSignature(signature string) string + func (bs BaseStatus) LinkSignatureCache(signature string) string + func (bs BaseStatus) LinkSubject(area, sub, subject string, params ...string) string + type ClusterResultStatus struct + CSEBase string + Items []GoogleResultItem + SearchName string + SearchResultRows int64 + SearchResultStart int64 + SearchResultTotal int64 + SearchString string + SearchToken string + Searches []KV + TotalResults string + type ClusterStatus struct + MetaDescription string + QueryApi template.URL + Result []*SourceData + SearchResult template.JS + SearchResultRows int + SearchResultStart int + SearchResultTotal int + SearchResultVisible bool + type CollectionsStatus struct + Areas []string + MetaDescription string + QueryApi template.URL + Result map[string][]*SourceData + SearchResult template.JS + SearchResultRows int + SearchResultStart int + SearchResultTotal int + SearchResultVisible bool + type DetailStatus struct + ContentOK bool + ContentPublic bool + Doc *SourceData + FacebookAppId string + IsAmp bool + MetaDescription string + MetaOK bool + MetaPublic bool + Plain bool + Result *SearchResult + SearchResultRows int + SearchResultTotal int + type Document struct + ACL map[string][]string + Catalog []string + Content *SourceData + Error string + Id string + Source string + Tag []string + type ErrorHTTPStatus struct + func (err *ErrorHTTPStatus) Error() string + type FacetCountField struct + Id string + Name string + Selected bool + ShortName string + type FacetCountResult map[string]map[string]int + type FacetManager struct + DefaultFacets SolrFacetList + Facets SolrFacetList + func NewFacetManager(defaults SolrFacetList) *FacetManager + type GoogleResultItem struct + Domain string + FileFormat string + Link string + Mimetype string + Snippet string + Thumbnail string + ThumbnailHeight int64 + ThumbnailWidth int64 + Title string + type GoogleResultStatus struct + CX string + SearchName string + SearchString string + Searches []string + type ImageSearchStatus struct + AmpBase string + BaseUrl string + LoginUrl string + MetaDescription string + Notifications []Notification + QueryApi template.URL + Result *SearchResult + SearchResult template.JS + SearchResultRows int + SearchResultStart int + SearchResultTotal int + SearchString string + Self string + SelfPath string + Title string + Token string + Type string + User *User + type ItemDataBase struct + Collections []string + Creators []ItemDataPerson + DateAdded string + DateModified string + ItemType string + Key string + Media ItemMedia + ParentItem Parent + Relations RelationList + Tags []ItemTag + Version int64 + type ItemDataPerson struct + CreatorType string + FirstName string + LastName string + type ItemGeneric struct + AbstractNote string + AccessDate string + ApplicationNumber string + Archive string + ArchiveLocation string + ArtworkMedium string + ArtworkSize string + Assignee string + AudioFileType string + AudioRecordingFormat string + BillNumber string + BlogTitle string + BookTitle string + CallNumber string + CaseName string + Charset string + Code string + CodeNumber string + CodePages string + CodeVolume string + Committee string + Company string + ConferenceName string + ContentType string + Country string + Court string + DOI string + Date string + DateDecided string + DateEnacted string + DictionaryTitle string + Distributor string + DocketNumber string + DocumentNumber string + Edition string + EncyclopediaTitle string + EpisodeNumber string + Extra string + Filename string + FilingDate string + FirstPage string + ForumTitle string + Genre string + History string + ISBN string + ISSN string + Institution string + InterviewMedium string + Issue string + IssueDate string + IssuingAuthority string + JournalAbbreviation string + Label string + Language string + LegalStatus string + LegislativeBody string + LetterType string + LibraryCatalog string + LinkMode string + MD5 string + MTime int64 + ManuscriptType string + MapType string + MeetingName string + NameOfAct string + Network string + Note string + NumPages string + NumberOfVolumes string + Pages float64 + PatentNumber string + Place string + PostType string + PresentationType string + PriorityNumbers string + ProceedingsTitle string + ProgramTitle string + ProgrammingLanguage string + PublicLawNumber string + PublicationTitle string + Publisher string + References string + ReportNumber string + ReportType string + Reporter string + ReporterVolume string + Rights string + RunningTime string + Scale string + Section string + Series string + SeriesNumber string + SeriesText string + SeriesTitle string + Session string + ShortTitle string + Studio string + Subject string + System string + ThesisType string + Title string + University string + Url string + VersionNumber string + VideoRecordingFormat string + Volume string + WebsiteTitle string + WebsiteType string + type ItemMedia struct + Metadata ItemMediaMeta + type ItemMediaMeta struct + Audio interface{} + Duration float64 + Ext string + Height float64 + Image interface{} + Mimetype string + Sha256 string + Type string + Video interface{} + Width float64 + func (imm *ItemMediaMeta) UnmarshalJSON(data []byte) error + type ItemTag struct + Tag string + Type int64 + type JSONData map[string]interface + type JSONDomainMap map[string]interface + func (jdm *JSONDomainMap) SetBlockParentQuery(allParentsQuery string) *JSONDomainMap + func (jdm *JSONDomainMap) WithFilter(filter string) *JSONDomainMap + func (jdm *JSONDomainMap) WithQuery(query string) *JSONDomainMap + func (jdm *JSONDomainMap) WithTagsToExclude(excludeTagsValue string) *JSONDomainMap + func CreateJSONDomainMap() *JSONDomainMap + type JSONFacetMap map[string]interface + func CreateJSONFacetMap(t string) *JSONFacetMap + type JSONHeatmapFacetMap JSONFacetMap + func CreateJSONHeatmapFacetMap(fieldname string) *JSONHeatmapFacetMap + func (jfm *JSONHeatmapFacetMap) SetDistErr(distErr float64) *JSONHeatmapFacetMap + func (jfm *JSONHeatmapFacetMap) SetDistErrPct(distErrPct float64) *JSONHeatmapFacetMap + func (jfm *JSONHeatmapFacetMap) SetGridLevel(individualCellSize int64) *JSONHeatmapFacetMap + func (jfm *JSONHeatmapFacetMap) SetHeatmapFormat(format string) *JSONHeatmapFacetMap + func (jfm *JSONHeatmapFacetMap) SetRegionQuery(queryString string) *JSONHeatmapFacetMap + type JSONQueryFacetMap JSONFacetMap + func CreateJSONQueryFacetMap() *JSONQueryFacetMap + type JSONRangeFacetMap JSONFacetMap + func CreateJSONRangeFacetMap(field string, start, end, gap interface{}) (*JSONRangeFacetMap, error) + func (jfm *JSONRangeFacetMap) SetMinCount(minOccurrences int64) *JSONRangeFacetMap + func (jfm *JSONRangeFacetMap) SetOtherBuckets(bucketSpecifier string) *JSONRangeFacetMap + type JSONTermsFacetMap JSONFacetMap + func CreateJSONTermsFacetMap(field string) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) IncludeAllBucketsUnionBucket(shouldInclude bool) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) IncludeMissingBucket(missingBucket bool) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) IncludeTotalNumBuckets(numBuckets bool) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) JSONFacetMap() *JSONFacetMap + func (jfm *JSONTermsFacetMap) SetMinCount(minCount int64) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) SetOverRefine(numExtraBuckets int64) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) SetOverRequest(numExtraBuckets int64) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) SetPreliminarySort(preliminarySort string) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) SetTermPrefix(termPrefix string) *JSONTermsFacetMap + func (jfm *JSONTermsFacetMap) UseDistributedFacetRefining(useRefining bool) *JSONTermsFacetMap + type KV struct + Key string + Name string + type MTElasticSearch struct + func NewMTElasticSearch(urls []string, index string, apikey string, log *logging.Logger) (*MTElasticSearch, error) + func (mte *MTElasticSearch) Delete(cfg *ScrollConfig) (int64, error) + func (mte *MTElasticSearch) LastUpdate(cfg *ScrollConfig) (time.Time, error) + func (mte *MTElasticSearch) LoadDocs(ids []string, ctx context.Context) (map[string]*SourceData, error) + func (mte *MTElasticSearch) Scroll(cfg *ScrollConfig, callback func(data *SourceData) error) error + func (mte *MTElasticSearch) Search(cfg *SearchConfig) ([]map[string][]string, []*SourceData, int64, FacetCountResult, error) + func (mte *MTElasticSearch) StatsByACL(catalog []string) (int64, FacetCountResult, error) + func (mte *MTElasticSearch) Update(source *SourceData) error + func (mte *MTElasticSearch) UpdateTimestamp(source *SourceData, timestamp time.Time) error + type Media struct + Duration int64 + Fulltext string + Height int64 + Mimetype string + Name string + Orientation int64 + Type string + Uri string + Width int64 + type MediaList []Media + func (ml MediaList) Len() int + func (ml MediaList) Less(i, j int) bool + func (ml MediaList) Swap(i, j int) + type Metalist map[string]string + func (ml *Metalist) UnmarshalJSON(b []byte) error + func (ml Metalist) MarshalJSON() ([]byte, error) + type NetGroups map[string][]*net.IPNet + func (ng NetGroups) Contains(str string) []string + type Note struct + Note template.HTML + Title string + type Notification struct + Id template.JS + Message string + type OGData map[string][]string + type Parent string + func (pc *Parent) UnmarshalJSON(data []byte) error + type Person struct + Name string + Role string + type Query struct + Label string + Search string + type Reference struct + Signature string + Title string + Type string + type RelationList map[string][]string + func (rl *RelationList) UnmarshalJSON(data []byte) error + type ScrollConfig struct + ContentVisible bool + Fields map[string][]string + FiltersFields map[string][]string + Groups []string + IsAdmin bool + QStr string + type Search struct + func NewSearch(se SearchEngine, cachesize int, duration time.Duration, db *badger.DB, ...) (*Search, error) + func (s *Search) LoadEntities(ids []string) (map[string]*SourceData, error) + func (s *Search) LoadEntity(id string) (*SourceData, error) + func (s *Search) Search(cfg *SearchConfig) ([]map[string][]string, []*SourceData, int64, FacetCountResult, error) + func (s *Search) StatsByACL(catalog []string) (int64, FacetCountResult, error) + type SearchConfig struct + ContentVisible bool + Facets map[string]TermFacet + Fields map[string][]string + FiltersFields map[string][]string + Groups []string + IsAdmin bool + QStr string + Rows int + Start int + type SearchEngine interface + Delete func(cfg *ScrollConfig) (int64, error) + LastUpdate func(cfg *ScrollConfig) (time.Time, error) + LoadDocs func(ids []string, ctx context.Context) (map[string]*SourceData, error) + Scroll func(cfg *ScrollConfig, f func(data *SourceData) error) error + Search func(cfg *SearchConfig) ([]map[string][]string, []*SourceData, int64, FacetCountResult, error) + StatsByACL func(catalog []string) (int64, FacetCountResult, error) + Update func(source *SourceData) error + UpdateTimestamp func(source *SourceData, timestamp time.Time) error + type SearchResult struct + FacetFieldCount map[string]facetField + Items []SearchResultItem + Next string + Query string + Rows int64 + Search string + Start int64 + Total int64 + type SearchResultItem struct + AuthorText string + Authors []string + Collection string + ContentOK bool + ContentPublic bool + Date string + FirstItem bool + Highlight map[string][]string + Icon string + Id string + Link string + Media map[string]int + MetaOK bool + MetaPublic bool + Poster *Media + Text string + Title *translate.MultiLangString + Total int64 + Type string + type SearchStatus struct + CoreFacets []string + EmptySearch bool + Facet map[string]map[string]FacetCountField + Filter map[string][]string + MetaDescription string + QueryApi template.URL + Result *SearchResult + SearchResult template.JS + SearchResultRows int + SearchResultStart int + SearchResultTotal int + SearchResultVisible bool + SearchString string + Stats FacetCountResult + type Server struct + func NewServer(service string, mts *Search, uc *UserCache, google *customsearch.Service, ...) (*Server, error) + func (s *Server) DoPanic(writer http.ResponseWriter, status int, message string) error + func (s *Server) DoPanicJSON(writer http.ResponseWriter, status int, message string) (err error) + func (s *Server) DoPanicf(user *User, req *http.Request, writer http.ResponseWriter, status int, ...) (err error) + func (s *Server) GetClaimUser(claims map[string]interface{}) (*User, error) + func (s *Server) InitTemplates() (err error) + func (s *Server) ListenAndServe(cert, key string) error + func (s *Server) Shutdown(ctx context.Context) error + type SolrFacet struct + Field string + Label string + Name string + Prefix string + Restrict map[string]bool + func Create(Label, Name, Field, Prefix string, Restrict map[string]bool) (*SolrFacet, error) + type SolrFacetList map[string]SolrFacet + type SolrResultJSONFacetBucket struct + Count int64 + Val string + func NewSolrResultJSONFacetBucket() (*SolrResultJSONFacetBucket, error) + func (fb *SolrResultJSONFacetBucket) Init(data interface{}) error + type SolrResultJSONFacetElement struct + Buckets []*SolrResultJSONFacetBucket + func NewSolrResultJSONFacetElement() (*SolrResultJSONFacetElement, error) + func (fe *SolrResultJSONFacetElement) Init(data interface{}) error + type SolrResultJSONFacets struct + Count int64 + Elements map[string]*SolrResultJSONFacetElement + func NewSolrResultJSONFacets() (*SolrResultJSONFacets, error) + func (fa *SolrResultJSONFacets) Init(data interface{}) error + type Source interface + GetACL func() map[string][]string + GetAbstract func() *translate.MultiLangString + GetCatalogs func() []string + GetCategories func() []string + GetCollectionTitle func() string + GetContentMime func() string + GetContentString func() string + GetContentType func() string + GetDate func() string + GetDateAdded func() time.Time + GetExtra func() *Metalist + GetLicense func() string + GetMedia func() map[string]MediaList + GetMeta func() *Metalist + GetNotes func() []Note + GetPersons func() []Person + GetPlace func() string + GetPoster func() *Media + GetPublisher func() string + GetQueries func() []Query + GetReferences func() []Reference + GetRights func() string + GetSeries func() string + GetSignature func() string + GetSignatureOriginal func() string + GetSolrDoc func() *solr.Document + GetSource func() string + GetTags func() []string + GetTitle func() *translate.MultiLangString + GetUrl func() string + GetVars func() *Varlist + type SourceData struct + ACL map[string][]string + Abstract *translate.MultiLangString + Catalog []string + Category []string + CollectionTitle string + ContentMime string + ContentStr string + Date string + DateAdded time.Time + Extra *Metalist + HasMedia bool + License string + Media map[string]MediaList + Mediatype []string + Meta *Metalist + Notes []Note + Persons []Person + Place string + Poster *Media + Publisher string + Queries []Query + References []Reference + Rights string + Series string + Signature string + SignatureOriginal string + Source string + Statistics *SourceStatistic + Tags []string + Timestamp time.Time + Title *translate.MultiLangString + Type string + Url string + Vars *Varlist + func NewSourceData(src Source) (*SourceData, error) + func (sd *SourceData) AddIdentifiers(identifiers map[string]string) + func (sd *SourceData) GetACL() map[string][]string + func (sd *SourceData) GetAbstract() *translate.MultiLangString + func (sd *SourceData) GetCatalogs() []string + func (sd *SourceData) GetCategories() []string + func (sd *SourceData) GetCollectionTitle() string + func (sd *SourceData) GetContentMime() string + func (sd *SourceData) GetContentString() string + func (sd *SourceData) GetContentType() string + func (sd *SourceData) GetDate() string + func (sd *SourceData) GetDateAdded() time.Time + func (sd *SourceData) GetExtra() *Metalist + func (sd *SourceData) GetJsonLD(self string, mediaserver func(uri string, params ...string) (string, error)) (result interface{}) + func (sd *SourceData) GetLicense() string + func (sd *SourceData) GetMedia() map[string]MediaList + func (sd *SourceData) GetMeta() *Metalist + func (sd *SourceData) GetNotes() []Note + func (sd *SourceData) GetOpenGraph(app_id, self string, ...) (namespace string, ogstr string) + func (sd *SourceData) GetPersons() []Person + func (sd *SourceData) GetPlace() string + func (sd *SourceData) GetPoster() *Media + func (sd *SourceData) GetPublisher() string + func (sd *SourceData) GetQueries() []Query + func (sd *SourceData) GetReferences() []Reference + func (sd *SourceData) GetRights() string + func (sd *SourceData) GetSeries() string + func (sd *SourceData) GetSignature() string + func (sd *SourceData) GetSignatureOriginal() string + func (sd *SourceData) GetSolrDoc() *solr.Document + func (sd *SourceData) GetSource() string + func (sd *SourceData) GetTags() []string + func (sd *SourceData) GetTitle() *translate.MultiLangString + func (sd *SourceData) GetUrl() string + func (sd *SourceData) GetVars() *Varlist + func (sd *SourceData) Name() string + func (sd *SourceData) SetStatistics() + func (sd *SourceData) Translate(tr translate.Translator, langs []language.Tag) + type SourceStatistic struct + MediaCount map[string]int64 + MediaDuration map[string][]int64 + MediaHeight map[string][]int64 + MediaMimeType map[string][]string + MediaType []string + MediaUri map[string][]string + MediaWidth map[string][]int64 + Person []string + Role []string + type SubFilter struct + Filter string + Label string + Name string + type TermFacet struct + Limit int64 + Prefix string + Selected map[string]bool + type User struct + Email string + Exp time.Time + FirstName string + Groups []string + HomeOrg string + Id string + LastName string + LoggedIn bool + LoggedOut bool + Server *Server + func NewGuestUser(s *Server) *User + func (u User) LinkCollections() string + func (u User) LinkSearch(query string, facets ...string) template.URL + func (u User) LinkSignature(signature string) string + func (u User) LinkSignatureCache(signature string) string + func (u User) LinkSubject(area, sub, subject string, params ...string) string + type UserCache struct + func NewUserCache(idleTimeout time.Duration, initialSize int) (*UserCache, error) + func (uc *UserCache) GetUser(id string) (*User, error) + func (uc *UserCache) SetUser(user *User, index string) error + type Varlist map[string][]string + func (vl *Varlist) UnmarshalJSON(b []byte) error + func (vl Varlist) Append(key string, values []string) + func (vl Varlist) AppendMap(mv map[string][]string) + func (vl Varlist) MarshalJSON() ([]byte, error) + func (vl Varlist) Unique() *Varlist + type ZoteroCollection struct + Data ZoteroCollectionData + Key string + Library ZoteroLibrary + Links interface{} + Meta ZoteroCollectionMeta + Parent *ZoteroCollection + Version int64 + func (zc *ZoteroCollection) GetParents() []string + type ZoteroCollectionData struct + Key string + Name string + ParentCollection Parent + Relations RelationList + Version int64 + type ZoteroCollectionMeta struct + NumCollections int64 + NumItems int64 + type ZoteroData struct + Children []ZoteroData + Collections []ZoteroCollection + Data ItemGeneric + Group ZoteroGroup + Key string + Library ZoteroLibrary + Links interface{} + Meta interface{} + Version int + type ZoteroGroup struct + Data ZoteroGroupData + Id int64 + Links interface{} + Meta ZoteroGroupMeta + Version int64 + type ZoteroGroupData struct + Admins []int64 + Description string + FileEditing string + HasImage int64 + Id int64 + LibraryEditing string + LibraryReading string + Name string + Owner int64 + Type string + Url string + Version int64 + type ZoteroGroupMeta struct + Created time.Time + LastModified time.Time + NumItems int64 + type ZoteroItem struct + func NewZoteroItem(zItem zotero.Item, ms mediaserver.Mediaserver) *ZoteroItem + func (item *ZoteroItem) GetACL() map[string][]string + func (item *ZoteroItem) GetAbstract() *translate.MultiLangString + func (item *ZoteroItem) GetCatalogs() []string + func (item *ZoteroItem) GetCategories() []string + func (item *ZoteroItem) GetChildrenLocal() (*[]ZoteroItem, error) + func (item *ZoteroItem) GetCollectionTitle() string + func (item *ZoteroItem) GetContentMime() string + func (item *ZoteroItem) GetContentString() string + func (item *ZoteroItem) GetContentType() string + func (item *ZoteroItem) GetDate() string + func (item *ZoteroItem) GetDateAdded() time.Time + func (item *ZoteroItem) GetExtra() *Metalist + func (item *ZoteroItem) GetLicense() string + func (item *ZoteroItem) GetMedia() map[string]MediaList + func (item *ZoteroItem) GetMeta() *Metalist + func (item *ZoteroItem) GetNotes() []Note + func (item *ZoteroItem) GetPersons() []Person + func (item *ZoteroItem) GetPlace() string + func (item *ZoteroItem) GetPoster() *Media + func (item *ZoteroItem) GetPublisher() string + func (item *ZoteroItem) GetQueries() []Query + func (item *ZoteroItem) GetReferences() []Reference + func (item *ZoteroItem) GetRights() string + func (item *ZoteroItem) GetSeries() string + func (item *ZoteroItem) GetSignature() string + func (item *ZoteroItem) GetSignatureOriginal() string + func (item *ZoteroItem) GetSolrDoc() *solr.Document + func (item *ZoteroItem) GetSource() string + func (item *ZoteroItem) GetTags() []string + func (item *ZoteroItem) GetTitle() *translate.MultiLangString + func (item *ZoteroItem) GetUrl() string + func (item *ZoteroItem) GetVars() *Varlist + func (item *ZoteroItem) Name() string + type ZoteroLibrary struct + Id int64 + Links interface{} + Name string + Type string + type ZoteroStringList []string + func (irl *ZoteroStringList) UnmarshalJSON(data []byte) error