MCPcopy Create free account
hub / github.com/couchbase/cbft / Search

Method Search

grpc_server.go:91–306  ·  view source on GitHub ↗
(req *pb.SearchRequest,
	stream pb.SearchService_SearchServer)

Source from the content-addressed store, hash-verified

89}
90
91func (s *SearchService) Search(req *pb.SearchRequest,
92 stream pb.SearchService_SearchServer) (err error) {
93 startTime := time.Now()
94 if req == nil {
95 return status.Error(codes.FailedPrecondition,
96 "grpc_server: Search empty search request")
97 }
98
99 defer func() {
100 updateRpcFocusStats(startTime, s.mgr, req, stream.Context(), err)
101 }()
102
103 err = verifyRPCAuth(stream.Context(), req.IndexName, req)
104 if err != nil {
105 return status.Errorf(codes.PermissionDenied,
106 "grpc_server: Search err: %v", err)
107 }
108
109 queryCtlParams := cbgt.QueryCtlParams{
110 Ctl: cbgt.QueryCtl{
111 Timeout: cbgt.QUERY_CTL_DEFAULT_TIMEOUT_MS,
112 },
113 }
114
115 if req.QueryCtlParams != nil {
116 err = UnmarshalJSON(req.QueryCtlParams, &queryCtlParams)
117 if err != nil {
118 return status.Errorf(codes.InvalidArgument,
119 "grpc_server: Search parsing queryCtlParams, err: %v", err)
120 }
121 }
122
123 queryPIndexes := QueryPIndexes{}
124 if req.QueryPIndexes != nil {
125 err = UnmarshalJSON(req.QueryPIndexes, &queryPIndexes)
126 if err != nil {
127 return status.Errorf(codes.InvalidArgument,
128 "grpc_server: Search parsing queryPIndexes, err: %v", err)
129 }
130 }
131
132 var sr *SearchRequest
133 err = UnmarshalJSON(req.Contents, &sr)
134 if err != nil {
135 return status.Errorf(codes.InvalidArgument,
136 "grpc_server: Search parsing searchRequest, err: %v", err)
137 }
138 var searchRequest *bleve.SearchRequest
139 searchRequest, err = sr.ConvertToBleveSearchRequest()
140 if err != nil {
141 return status.Errorf(codes.InvalidArgument,
142 "grpc_server: Search processing searchRequest, err: %v", err)
143 }
144
145 // pre process the query if applicable
146 var undecoratedQuery query.Query
147 var coordinatingNode bool
148 if strings.Compare(cbgt.CfgAppVersion, "7.0.0") >= 0 {

Callers

nothing calls this directly

Calls 15

decorateQueryMethod · 0.95
updateRpcFocusStatsFunction · 0.85
verifyRPCAuthFunction · 0.85
UnmarshalJSONFunction · 0.85
extractMetaHeaderFunction · 0.85
setupContextAndCancelChFunction · 0.85
bleveIndexAliasFunction · 0.85
newStreamHandlerFunction · 0.85
fireQueryEventFunction · 0.85
processSearchResultFunction · 0.85

Tested by

no test coverage detected