(mgr *cbgt.Manager, indexName, indexUUID string, req []byte, res io.Writer)
| 1202 | } |
| 1203 | |
| 1204 | func 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 |
nothing calls this directly
no test coverage detected