Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Setter
@Document(indexUid = "histories")
@Setting(
searchableAttributes = {"hashtagNames", "categoryNames"},
searchableAttributes = {"styleNames", "hashtagNames", "categoryNames"},
displayedAttributes = {
"id",
"memberId",
Expand Down Expand Up @@ -45,6 +45,8 @@ public class HistoryDocument {

private String nickname; // Member.nickname

private List<String> styleNames;

private List<String> hashtagNames;

private List<String> categoryNames;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ public class MeiliSearchRepositoryImpl implements SearchRepository {
private static final String HISTORY_INDEX = "histories";
private static final String MEMBER_INDEX = "members";
private final MeilisearchOperations meilisearchOperations;
private final MeilisearchHistoryRepository historyRepository;
private final MeilisearchMemberRepository memberRepository;
private final MeilisearchHistoryRepository historyDocumentRepository;
private final MeilisearchMemberRepository memberDocumentRepository;

// MemberDocument 관련 메서드 구현
@Override
public void saveAllMembers(List<MemberDocument> documents) {
memberRepository.saveAll(documents);
memberDocumentRepository.saveAll(documents);
}

@Override
public void deleteMember(String id) {
memberRepository.deleteById(id);
memberDocumentRepository.deleteById(id);
}

@Override
Expand Down Expand Up @@ -96,12 +96,12 @@ public SliceResponse<SearchedMemberResponse> findUsersByKeyword(
// HistoryDocument 관련 메서드 구현
@Override
public void saveAllHistories(List<HistoryDocument> documents) {
historyRepository.saveAll(documents);
historyDocumentRepository.saveAll(documents);
}

@Override
public void deleteHistory(String id) {
historyRepository.deleteById(id);
historyDocumentRepository.deleteById(id);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,12 @@
import java.util.Set;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.clokey.domain.history.repository.HistoryClothTagRepository;
import org.clokey.domain.history.repository.HistoryHashtagRepository;
import org.clokey.domain.history.repository.HistoryImageRepository;
import org.clokey.domain.history.repository.HistoryRepository;
import org.clokey.domain.history.repository.*;
import org.clokey.domain.like.repository.MemberLikeRepository;
import org.clokey.domain.member.repository.MemberRepository;
import org.clokey.domain.search.document.HistoryDocument;
import org.clokey.domain.search.document.MemberDocument;
import org.clokey.history.entity.History;
import org.clokey.history.entity.HistoryClothTag;
import org.clokey.history.entity.HistoryHashtag;
import org.clokey.history.entity.HistoryImage;
import org.clokey.history.entity.*;
import org.clokey.member.entity.Member;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand All @@ -29,6 +23,7 @@ public class SearchDocumentServiceImpl implements SearchDocumentService {
private final HistoryRepository historyRepository;
private final MemberRepository memberRepository;
private final MemberLikeRepository memberLikeRepository;
private final HistoryStyleRepository historyStyleRepository;
private final HistoryHashtagRepository historyHashtagRepository;
private final HistoryImageRepository historyImageRepository;
private final HistoryClothTagRepository historyClothTagRepository;
Expand All @@ -51,13 +46,16 @@ public HistoryDocument toHistoryDocument(Long historyId) {
List<HistoryImage> images = historyImageRepository.findByHistoryId(historyId);
String historyImageUrl = images.isEmpty() ? null : images.get(0).getImageUrl();

// 스타일 이름 리스트
List<HistoryStyle> historyStyles = historyStyleRepository.findByHistoryId(historyId);
List<String> styleNames =
historyStyles.stream().map(hs -> hs.getStyle().getName()).toList();

// 해시태그 이름 리스트
List<HistoryHashtag> historyHashtags =
historyHashtagRepository.findAllByHistoryIdWithHashtag(historyId);
List<String> hashtagNames =
historyHashtags.stream()
.map(hh -> hh.getHashtag().getName())
.collect(Collectors.toList());
historyHashtags.stream().map(hh -> hh.getHashtag().getName()).toList();

// 카테고리 이름 리스트 (중복 제거)
Set<String> categoryNamesSet =
Expand Down Expand Up @@ -85,6 +83,7 @@ public HistoryDocument toHistoryDocument(Long historyId) {
document.setHistoryImageUrl(historyImageUrl);
document.setProfileImageUrl(member.getProfileImageUrl());
document.setNickname(member.getNickname());
document.setStyleNames(styleNames);
document.setHashtagNames(hashtagNames);
document.setCategoryNames(categoryNames);

Expand Down