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

Method MakeDocumentMatchHandler

stream.go:215–254  ·  view source on GitHub ↗
(
	ctx *search.SearchContext)

Source from the content-addressed store, hash-verified

213}
214
215func (s *streamer) MakeDocumentMatchHandler(
216 ctx *search.SearchContext) (search.DocumentMatchHandler, bool, error) {
217 var highlighter highlight.Highlighter
218 if s.req.Highlight != nil {
219 var err error
220 // get the right highlighter
221 highlighter, err = bleve.Config.Cache.HighlighterNamed(
222 bleve.Config.DefaultHighlighter)
223 if err != nil {
224 return nil, false, err
225 }
226 if s.req.Highlight.Style != nil {
227 highlighter, err = bleve.Config.Cache.HighlighterNamed(
228 *s.req.Highlight.Style)
229 if err != nil {
230 return nil, false, err
231 }
232 }
233 if highlighter == nil {
234 return nil, false, fmt.Errorf("no highlighter named `%s` registered",
235 *s.req.Highlight.Style)
236 }
237 }
238
239 dmh := docMatchHandler{
240 s: s,
241 ctx: ctx,
242 bhits: make([]byte, 0, DefaultStreamBatchSize*50),
243 offsets: make([]uint64, 0, DefaultStreamBatchSize),
244 highlighter: highlighter,
245 }
246 dmh.bhits = append(dmh.bhits, sliceStart...)
247
248 if sdm, multiCollIndex :=
249 metaFieldValCache.getSourceDetailsMap(s.index); multiCollIndex {
250 dmh.collNameMap = sdm.collUIDNameMap
251 }
252
253 return dmh.documentMatchHandler, true, nil
254}

Callers

nothing calls this directly

Calls 1

getSourceDetailsMapMethod · 0.80

Tested by

no test coverage detected