mirror of
https://github.com/pgsty/minio.git
synced 2026-08-12 09:40:28 +03:00
api: Implement bucket notification. (#2271)
* Implement basic S3 notifications through queues Supports multiple queues and three basic queue types: 1. NilQueue -- messages don't get sent anywhere 2. LogQueue -- messages get logged 3. AmqpQueue -- messages are sent to an AMQP queue * api: Implement bucket notification. Supports two different queue types - AMQP - ElasticSearch. * Add support for redis
This commit is contained in:
committed by
Anand Babu (AB) Periasamy
parent
f85d94288d
commit
f248089523
+64
@@ -0,0 +1,64 @@
|
||||
// Copyright 2012-2015 Oliver Eilhard. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-license.
|
||||
// See http://olivere.mit-license.org/license.txt for details.
|
||||
|
||||
package elastic
|
||||
|
||||
type Rescorer interface {
|
||||
Name() string
|
||||
Source() (interface{}, error)
|
||||
}
|
||||
|
||||
// -- Query Rescorer --
|
||||
|
||||
type QueryRescorer struct {
|
||||
query Query
|
||||
rescoreQueryWeight *float64
|
||||
queryWeight *float64
|
||||
scoreMode string
|
||||
}
|
||||
|
||||
func NewQueryRescorer(query Query) *QueryRescorer {
|
||||
return &QueryRescorer{
|
||||
query: query,
|
||||
}
|
||||
}
|
||||
|
||||
func (r *QueryRescorer) Name() string {
|
||||
return "query"
|
||||
}
|
||||
|
||||
func (r *QueryRescorer) RescoreQueryWeight(rescoreQueryWeight float64) *QueryRescorer {
|
||||
r.rescoreQueryWeight = &rescoreQueryWeight
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *QueryRescorer) QueryWeight(queryWeight float64) *QueryRescorer {
|
||||
r.queryWeight = &queryWeight
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *QueryRescorer) ScoreMode(scoreMode string) *QueryRescorer {
|
||||
r.scoreMode = scoreMode
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *QueryRescorer) Source() (interface{}, error) {
|
||||
rescoreQuery, err := r.query.Source()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
source := make(map[string]interface{})
|
||||
source["rescore_query"] = rescoreQuery
|
||||
if r.queryWeight != nil {
|
||||
source["query_weight"] = *r.queryWeight
|
||||
}
|
||||
if r.rescoreQueryWeight != nil {
|
||||
source["rescore_query_weight"] = *r.rescoreQueryWeight
|
||||
}
|
||||
if r.scoreMode != "" {
|
||||
source["score_mode"] = r.scoreMode
|
||||
}
|
||||
return source, nil
|
||||
}
|
||||
Reference in New Issue
Block a user