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

Method ConvertToBleveSearchRequest

pindex_bleve.go:289–343  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

287}
288
289func (sr *SearchRequest) ConvertToBleveSearchRequest() (*bleve.SearchRequest, error) {
290 // size/from take precedence, but if not specified, overwrite with
291 // limit/offset settings
292 r := &bleve.SearchRequest{
293 Highlight: sr.Highlight,
294 Fields: sr.Fields,
295 Facets: sr.Facets,
296 Explain: sr.Explain,
297 IncludeLocations: sr.IncludeLocations,
298 Score: sr.Score,
299 SearchAfter: sr.SearchAfter,
300 SearchBefore: sr.SearchBefore,
301 }
302
303 var err error
304 r.Query, err = query.ParseQuery(sr.Q)
305 if err != nil {
306 return nil, err
307 }
308
309 if sr.Size == nil {
310 if sr.Limit == nil || *sr.Limit < 0 {
311 r.Size = 10
312 } else {
313 r.Size = *sr.Limit
314 }
315 } else if *sr.Size < 0 {
316 r.Size = 10
317 } else {
318 r.Size = *sr.Size
319 }
320
321 if sr.From == nil {
322 if sr.Offset == nil || *sr.Offset < 0 {
323 r.From = 0
324 } else {
325 r.From = *sr.Offset
326 }
327 } else if *sr.From < 0 {
328 r.From = 0
329 } else {
330 r.From = *sr.From
331 }
332
333 if sr.Sort == nil {
334 r.Sort = search.SortOrder{&search.SortScore{Desc: true}}
335 } else {
336 r.Sort, err = search.ParseSortOrderJSON(sr.Sort)
337 if err != nil {
338 return nil, err
339 }
340 }
341
342 return r, r.Validate()
343}
344
345type BleveDest struct {
346 path string

Callers 7

QueryBleveFunction · 0.95
QueryMethod · 0.95
SearchMethod · 0.95
QueryAliasFunction · 0.95
TestSearchRequestExtFunction · 0.95

Calls

no outgoing calls

Tested by 3

TestSearchRequestExtFunction · 0.76