diff --git a/pkg/indexing/contentserver.go b/pkg/indexing/contentserver.go index fe99311..84ec0b2 100644 --- a/pkg/indexing/contentserver.go +++ b/pkg/indexing/contentserver.go @@ -40,12 +40,23 @@ func (c ContentServer[indexDocument]) Provide( if err != nil { return nil, err } + + ids := make([]string, 0, len(documentInfos)) + for _, documentInfo := range documentInfos { + ids = append(ids, string(documentInfo.DocumentID)) + } + + uriMap, err := c.contentserverClient.GetURIs(ctx, string(indexID), ids) + if err != nil { + return nil, err + } + documents := make([]*indexDocument, len(documentInfos)) for index, documentInfo := range documentInfos { if documentProvider, ok := c.documentProviderFuncs[documentInfo.DocumentType]; !ok { c.l.Warn("no document provider available for document type", zap.String("documentType", string(documentInfo.DocumentType))) } else { - document, err := documentProvider(ctx, indexID, documentInfo.DocumentID) + document, err := documentProvider(ctx, indexID, documentInfo.DocumentID, uriMap) if err != nil { c.l.Error( "index document not created", diff --git a/pkg/vo.go b/pkg/vo.go index 1783932..3805bbd 100644 --- a/pkg/vo.go +++ b/pkg/vo.go @@ -19,6 +19,7 @@ type DocumentProviderFunc[indexDocument any] func( ctx context.Context, indexID IndexID, documentID DocumentID, + uriMap map[string]string, ) (*indexDocument, error) type DocumentInfo struct {