MCPcopy Index your code
hub / github.com/cloudreve/cloudreve / TextExtractor

Method TextExtractor

application/dependency/dependency.go:424–447  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

422}
423
424func (d *dependency) TextExtractor(ctx context.Context) searcher.TextExtractor {
425 d.mu.Lock()
426 defer d.mu.Unlock()
427
428 _, reload := ctx.Value(ReloadCtx{}).(bool)
429 if d.textExtractor != nil && !reload {
430 return d.textExtractor
431 }
432
433 sp := d.SettingProvider()
434 if sp.FTSExtractorType(ctx) != setting.FTSExtractorTypeTika {
435 d.textExtractor = &extractor.NoopExtractor{}
436 return d.textExtractor
437 }
438
439 tikaCfg := sp.FTSTikaExtractor(ctx)
440 if tikaCfg.Endpoint == "" {
441 d.textExtractor = &extractor.NoopExtractor{}
442 return d.textExtractor
443 }
444
445 d.textExtractor = extractor.NewTikaExtractor(d.RequestClient(), d.SettingProvider(), d.Logger(), tikaCfg)
446 return d.textExtractor
447}
448
449func (d *dependency) FsEventClient() inventory.FsEventClient {
450 if d.fsEventClient != nil {

Callers

nothing calls this directly

Calls 9

SettingProviderMethod · 0.95
RequestClientMethod · 0.95
LoggerMethod · 0.95
NewTikaExtractorFunction · 0.92
LockMethod · 0.65
UnlockMethod · 0.65
FTSExtractorTypeMethod · 0.65
FTSTikaExtractorMethod · 0.65
ValueMethod · 0.45

Tested by

no test coverage detected