@@ -270,6 +270,11 @@ private SearchIndexerSkillset GetDocumentsSearchIndexerSkillset(AppSettingsOverr
270270 new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentFilePath ) ) { Source = $ "/document/metadata_storage_path" } ,
271271 // mjh
272272 new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentDataSource ) ) { Source = $ "/document/data_source" }
273+ new InputFieldMappingEntry( nameof ( DocumentChunk . SourceDocumentSourceUrl ) ) { Source = $ "/document/source_url" }
274+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentAuthor ) ) { Source = $ "/document/author" }
275+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentType ) ) { Source = $ "/document/doc_type" }
276+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentPublishDate ) ) { Source = $ "/document/publish_date" }
277+
273278 }
274279 }
275280 }
@@ -338,14 +343,23 @@ private SearchIndexerSkillset GetDocumentsSearchIndexerSkillset(AppSettingsOverr
338343 new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentId ) ) { Source = $ "/document/{ nameof ( Document . Id ) } " } ,
339344 // Map the document file path.
340345 new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentFilePath ) ) { Source = $ "/document/{ nameof ( Document . FilePath ) } " } ,
341- // mjh Map the data source
342- new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentDataSource ) ) { Source = $ "/document/{ nameof ( Document . DataSource ) } " } ,
343346 // Map the document title.
344347 new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentTitle ) ) { Source = $ "/document/{ nameof ( Document . Title ) } " } ,
345348 // Map the chunked content.
346349 new InputFieldMappingEntry ( nameof ( DocumentChunk . Content ) ) { Source = $ "/document/{ nameof ( Document . Content ) } /chunks/*/content" } ,
347350 // Map the embedding vector.
348351 new InputFieldMappingEntry ( nameof ( DocumentChunk . ContentVector ) ) { Source = $ "/document/{ nameof ( Document . Content ) } /chunks/*/embedding_metadata/embedding" } ,
352+ // mjh Map the data source
353+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentDataSource ) ) { Source = $ "/document/{ nameof ( Document . DataSource ) } " } ,
354+ // mjh Map the source url
355+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentSourceUrl ) ) { Source = $ "/document/{ nameof ( Document . SourceUrl ) } " } ,
356+ // mjh Map the author
357+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentAuthor ) ) { Source = $ "/document/{ nameof ( Document . Author ) } " } ,
358+ // mjh Map the type
359+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentType ) ) { Source = $ "/document/{ nameof ( Document . Type ) } " } ,
360+ // mjh Map the publish date
361+ new InputFieldMappingEntry ( nameof ( DocumentChunk . SourceDocumentPublishDate ) ) { Source = $ "/document/{ nameof ( Document . PublishDate ) } " }
362+
349363 }
350364 }
351365 }
@@ -417,9 +431,13 @@ private SearchIndex GetChunksSearchIndex(string chunkIndexName, AppSettingsOverr
417431 new SearchField ( nameof ( DocumentChunk . ContentVector ) , SearchFieldDataType . Collection ( SearchFieldDataType . Single ) ) { IsFilterable = false , IsSortable = false , IsFacetable = false , IsSearchable = true , VectorSearchDimensions = this . settings . OpenAIEmbeddingVectorDimensions , VectorSearchProfile = Constants . ConfigurationNames . VectorSearchProfileNameDefault } ,
418432 new SearchField ( nameof ( DocumentChunk . SourceDocumentId ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = false , IsSearchable = false } ,
419433 new SearchField ( nameof ( DocumentChunk . SourceDocumentTitle ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = false , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . EnMicrosoft } ,
420- new SearchField ( nameof ( DocumentChunk . SourceDocumentFilePath ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = false , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . StandardLucene } ,
434+ new SearchField ( nameof ( DocumentChunk . SourceDocumentFilePath ) , SearchFieldDataType . String ) { IsFilterable = false , IsSortable = false , IsFacetable = false , IsSearchable = false , AnalyzerName = LexicalAnalyzerName . StandardLucene } ,
421435 // mjh
422- new SearchField ( nameof ( DocumentChunk . SourceDocumentDataSource ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = true , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . StandardLucene }
436+ new SearchField ( nameof ( DocumentChunk . SourceDocumentDataSource ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = true , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . StandardLucene } ,
437+ new SearchField ( nameof ( DocumentChunk . SourceDocumentSourceUrl ) , SearchFieldDataType . String ) { IsFilterable = false , IsSortable = false , IsFacetable = false , IsSearchable = false , AnalyzerName = LexicalAnalyzerName . StandardLucene }
438+ new SearchField( nameof ( DocumentChunk . SourceDocumentAuthor ) , SearchFieldDataType . String ) { IsFilterable = true, IsSortable = true , IsFacetable = true , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . EnMicrosoft } ,
439+ new SearchField ( nameof ( DocumentChunk . SourceDocumentType ) , SearchFieldDataType . String ) { IsFilterable = true , IsSortable = true , IsFacetable = true , IsSearchable = true , AnalyzerName = LexicalAnalyzerName . EnMicrosoft } ,
440+ new SearchField ( nameof ( DocumentChunk . SourceDocumentPublishDate ) , SearchFieldDataType . DateTimeOffset ) { IsFilterable = true , IsSortable = true , IsFacetable = true , IsSearchable = false } ,
423441 } ,
424442 SemanticSettings = new SemanticSettings
425443 {
0 commit comments