feat(search): enable comment result linking

This commit is contained in:
Tim
2025-07-08 23:16:29 +08:00
parent 7a8b20047e
commit 29e43ae669
3 changed files with 15 additions and 6 deletions

View File

@@ -58,6 +58,7 @@ public class SearchController {
dto.setText(r.text());
dto.setSubText(r.subText());
dto.setExtra(r.extra());
dto.setPostId(r.postId());
return dto;
})
.collect(Collectors.toList());
@@ -96,5 +97,6 @@ public class SearchController {
private String text;
private String subText;
private String extra;
private Long postId;
}
}

View File

@@ -52,6 +52,7 @@ public class SearchService {
u.getId(),
u.getUsername(),
u.getIntroduction(),
null,
null
));
@@ -64,7 +65,8 @@ public class SearchService {
p.getId(),
p.getTitle(),
p.getCategory().getName(),
extractSnippet(p.getContent(), keyword, false)
extractSnippet(p.getContent(), keyword, false),
null
)),
searchPostsByTitle(keyword).stream()
.map(p -> new SearchResult(
@@ -72,7 +74,8 @@ public class SearchService {
p.getId(),
p.getTitle(),
p.getCategory().getName(),
extractSnippet(p.getContent(), keyword, true)
extractSnippet(p.getContent(), keyword, true),
null
))
)
.collect(java.util.stream.Collectors.toMap(
@@ -91,7 +94,8 @@ public class SearchService {
c.getId(),
extractSnippet(c.getContent(), keyword, false),
c.getAuthor().getUsername(),
c.getPost().getTitle()
c.getPost().getTitle(),
c.getPost().getId()
));
return Stream.concat(Stream.concat(users, mergedPosts.stream()), comments)
@@ -114,5 +118,5 @@ public class SearchService {
return content.substring(start, end);
}
public record SearchResult(String type, Long id, String text, String subText, String extra) {}
public record SearchResult(String type, Long id, String text, String subText, String extra, Long postId) {}
}