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

Function QueryBleve

pindex_bleve.go:1204–1353  ·  view source on GitHub ↗
(mgr *cbgt.Manager, indexName, indexUUID string,
	req []byte, res io.Writer)

Source from the content-addressed store, hash-verified

1202}
1203
1204func QueryBleve(mgr *cbgt.Manager, indexName, indexUUID string,
1205 req []byte, res io.Writer) error {
1206 // phase 0 - parsing/validating query
1207 // could return err 400
1208 queryCtlParams := cbgt.QueryCtlParams{
1209 Ctl: cbgt.QueryCtl{
1210 Timeout: cbgt.QUERY_CTL_DEFAULT_TIMEOUT_MS,
1211 },
1212 }
1213 err := UnmarshalJSON(req, &queryCtlParams)
1214 if err != nil {
1215 return fmt.Errorf("bleve: QueryBleve"+
1216 " parsing queryCtlParams, err: %v", err)
1217 }
1218
1219 queryPIndexes := QueryPIndexes{}
1220 err = UnmarshalJSON(req, &queryPIndexes)
1221 if err != nil {
1222 return fmt.Errorf("bleve: QueryBleve"+
1223 " parsing queryPIndexes, err: %v", err)
1224 }
1225
1226 var sr *SearchRequest
1227 err = UnmarshalJSON(req, &sr)
1228 if err != nil {
1229 return fmt.Errorf("bleve: QueryBleve"+
1230 " parsing searchRequest, err: %v", err)
1231 }
1232 searchRequest, err := sr.ConvertToBleveSearchRequest()
1233 if err != nil {
1234 return fmt.Errorf("bleve: QueryBleve"+
1235 " parsing searchRequest, err: %v", err)
1236 }
1237
1238 var undecoratedQuery query.Query
1239 // pre process the query with collections if applicable.
1240 if strings.Compare(cbgt.CfgAppVersion, "7.0.0") >= 0 {
1241 undecoratedQuery, searchRequest.Query = sr.decorateQuery(indexName,
1242 searchRequest.Query, nil)
1243 }
1244
1245 if queryCtlParams.Ctl.Consistency != nil {
1246 err = ValidateConsistencyParams(queryCtlParams.Ctl.Consistency)
1247 if err != nil {
1248 return fmt.Errorf("bleve: QueryBleve"+
1249 " validating consistency, err: %v", err)
1250 }
1251 }
1252
1253 v, exists := mgr.Options()["bleveMaxResultWindow"]
1254 if exists {
1255 var bleveMaxResultWindow int
1256 bleveMaxResultWindow, err = strconv.Atoi(v)
1257 if err != nil {
1258 return fmt.Errorf("bleve: QueryBleve"+
1259 " atoi: %v, err: %v", v, err)
1260 }
1261

Callers

nothing calls this directly

Calls 13

decorateQueryMethod · 0.95
UnmarshalJSONFunction · 0.85
setupContextAndCancelChFunction · 0.85
bleveIndexAliasFunction · 0.85
getRemoteClientsFunction · 0.85
fireQueryEventFunction · 0.85
processSearchResultFunction · 0.85
AddEntryMethod · 0.80
DeleteEntryMethod · 0.80
mustEncodeFunction · 0.70

Tested by

no test coverage detected