mirror of https://github.com/milvus-io/milvus.git
enhance: Add dsl log field for HybridSearch (#39584)
The dsl fields are separated in sub request structs and cannot be easiliy printed before. This PR adds a log helper to print the dsl expressions of HybridSearchRequest. Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>pull/39599/head
parent
5f4bad6b23
commit
f7b7bf69d1
|
@ -22,6 +22,7 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
@ -3285,6 +3286,21 @@ func (node *Proxy) HybridSearch(ctx context.Context, request *milvuspb.HybridSea
|
|||
return rsp, err
|
||||
}
|
||||
|
||||
type hybridSearchRequestExprLogger struct {
|
||||
*milvuspb.HybridSearchRequest
|
||||
}
|
||||
|
||||
// String implements Stringer interface for lazy logging.
|
||||
func (l *hybridSearchRequestExprLogger) String() string {
|
||||
builder := &strings.Builder{}
|
||||
|
||||
for idx, subReq := range l.Requests {
|
||||
builder.WriteString(fmt.Sprintf("[No.%d req, expr: %s]", idx, subReq.GetDsl()))
|
||||
}
|
||||
|
||||
return builder.String()
|
||||
}
|
||||
|
||||
func (node *Proxy) hybridSearch(ctx context.Context, request *milvuspb.HybridSearchRequest, optimizedSearch bool) (*milvuspb.SearchResults, bool, bool, error) {
|
||||
metrics.GetStats(ctx).
|
||||
SetNodeID(paramtable.GetNodeID()).
|
||||
|
@ -3337,6 +3353,7 @@ func (node *Proxy) hybridSearch(ctx context.Context, request *milvuspb.HybridSea
|
|||
zap.Any("OutputFields", request.OutputFields),
|
||||
zap.String("ConsistencyLevel", request.GetConsistencyLevel().String()),
|
||||
zap.Bool("useDefaultConsistency", request.GetUseDefaultConsistency()),
|
||||
zap.Stringer("dsls", &hybridSearchRequestExprLogger{HybridSearchRequest: request}),
|
||||
)
|
||||
|
||||
defer func() {
|
||||
|
|
Loading…
Reference in New Issue