Skip to content

Commit 7e1d9ea

Browse files
author
Matthew Harris
committed
Page
1 parent 7b23fc2 commit 7e1d9ea

File tree

5 files changed

+9
-1
lines changed

5 files changed

+9
-1
lines changed

src/Azure.AISearch.WebApp/Models/SearchAnswer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class SearchAnswer
66
public string? SearchIndexKey { get; set; }
77
public string? DocumentId { get; set; }
88
public string? DocumentTitle { get; set; }
9+
public string? DocumentPage { get; set; }
910
public double? Score { get; set; }
1011
public string? Text { get; set; }
1112
}

src/Azure.AISearch.WebApp/Models/SearchResult.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class SearchResult
66
public string? SearchIndexKey { get; set; }
77
public string? DocumentId { get; set; }
88
public string? DocumentTitle { get; set; }
9+
public string? DocumentPage { get; set; }
910
public double? Score { get; set; }
1011
public IDictionary<string, IList<string>> Highlights { get; set; } = new Dictionary<string, IList<string>>();
1112
public IList<string> Captions { get; set; } = new List<string>();

src/Azure.AISearch.WebApp/Pages/Shared/_SearchResponse.cshtml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
<div class="ms-2 me-auto mb-2">
5656
<div>
5757
<code>@searchResult.DocumentTitle</code>
58+
<code>@searchResult.DocumentPage</code>
5859
</div>
5960
@if (searchResult.Captions.Any())
6061
{

src/Azure.AISearch.WebApp/Services/AzureCognitiveSearchService.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ private SearchResult GetSearchResultForDocumentsIndex(SearchResult<SearchDocumen
127127
searchResult.SearchIndexKey = result.Document.GetString(nameof(Document.Id));
128128
searchResult.DocumentId = result.Document.GetString(nameof(Document.Id));
129129
searchResult.DocumentTitle = result.Document.GetString(nameof(Document.Title));
130+
searchResult.DocumentPage = result.Document.GetString(nameof(Document.Page));
130131

131132
return searchResult;
132133
}
@@ -136,6 +137,8 @@ private void SetSearchOptionsForChunksIndex(SearchOptions searchOptions, QueryTy
136137
searchOptions.Select.Add(nameof(DocumentChunk.Id));
137138
searchOptions.Select.Add(nameof(DocumentChunk.SourceDocumentId));
138139
searchOptions.Select.Add(nameof(DocumentChunk.SourceDocumentTitle));
140+
searchOptions.Select.Add(nameof(DocumentChunk.SourceDocumentPage));
141+
139142
searchOptions.Select.Add(nameof(DocumentChunk.Content));
140143
if (queryType != QueryType.Vector)
141144
{
@@ -175,7 +178,7 @@ private SearchResult GetSearchResultForChunksIndex(SearchResult<SearchDocument>
175178
//searchResult.Author = result.Document.GetString(nameof(DocumentChunk.SourceDocumentAuthor));
176179
//searchResult.Type = result.Document.GetString(nameof(DocumentChunk.SourceDocumentType));
177180
//searchResult.PublishDate = result.Document.GetDateTimeOffset(nameof(DocumentChunk.SourceDocumentPublishDate));
178-
//searchResult.Page = result.Document.GetString(nameof(DocumentChunk.SourceDocumentPage));
181+
searchResult.Page = result.Document.GetString(nameof(DocumentChunk.SourceDocumentPage));
179182

180183
return searchResult;
181184
}

src/Azure.AISearch.WebApp/Services/AzureOpenAISearchService.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ public async Task<SearchResponse> SearchAsync(SearchRequest request)
9494
{
9595
DocumentId = citation.Filepath,
9696
DocumentTitle = citation.Title,
97+
DocumentPage = citation.Page,
9798
Captions = string.IsNullOrWhiteSpace(citation.Content) ? Array.Empty<string>() : new[] { citation.Content }
9899
});
99100
}
@@ -122,6 +123,7 @@ private AzureSearchChatExtensionConfiguration GetAzureCognitiveSearchDataSource(
122123
TitleFieldName = useDocumentsIndex ? nameof(Document.Title) : nameof(DocumentChunk.SourceDocumentTitle),
123124
UrlFieldName = useDocumentsIndex ? nameof(Document.FilePath) : nameof(DocumentChunk.SourceDocumentFilePath),
124125
FilepathFieldName = useDocumentsIndex ? nameof(Document.FilePath) : nameof(DocumentChunk.SourceDocumentFilePath),
126+
PageFieldName = useDocumentsIndex ? nameof(Document.Page) : nameof(DocumentChunk.SourceDocumentPage),
125127
VectorFieldNames = { useDocumentsIndex ? null : nameof(DocumentChunk.ContentVector) }
126128
},
127129
ShouldRestrictResultScope = request.LimitToDataSource, // Limit responses to data from the data source only

0 commit comments

Comments
 (0)