Commit 5df61b4d by 段启岩

搜索更新

parent 426eb3e5
......@@ -55,6 +55,12 @@ public class SearchItem<T> {
private String title;
/**
* 作者
*/
@Field(index = false, type = FieldType.Text)
private String author;
/**
* 数据封面图
*/
@Field(index = false, type = FieldType.Text)
......
package cn.meteor.beyondclouds.modules.search.entity;
package cn.meteor.beyondclouds.modules.search.entity.extra;
public class ProjectExtra {
}
package cn.meteor.beyondclouds.modules.search.entity;
package cn.meteor.beyondclouds.modules.search.entity.extra;
public class QuestionExtra {
}
package cn.meteor.beyondclouds.modules.search.entity.extra;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
/**
* @author meteor
*/
@Data
public class TopicExtra {
@Field(index = false, type = FieldType.Long)
private Integer referenceCount;
}
package cn.meteor.beyondclouds.modules.search.entity;
package cn.meteor.beyondclouds.modules.search.entity.extra;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.Field;
......
......@@ -18,7 +18,8 @@ import cn.meteor.beyondclouds.modules.search.entity.SearchDegree;
import cn.meteor.beyondclouds.modules.search.entity.SearchItem;
import cn.meteor.beyondclouds.modules.search.entity.SearchItemId;
import cn.meteor.beyondclouds.core.queue.message.DataItemType;
import cn.meteor.beyondclouds.modules.search.entity.UserExtra;
import cn.meteor.beyondclouds.modules.search.entity.extra.TopicExtra;
import cn.meteor.beyondclouds.modules.search.entity.extra.UserExtra;
import cn.meteor.beyondclouds.modules.search.repository.ISearchRepository;
import cn.meteor.beyondclouds.modules.search.service.ISearchDegreeService;
import cn.meteor.beyondclouds.modules.search.service.ISearchService;
......@@ -292,14 +293,20 @@ public class SearchServiceImpl implements ISearchService {
private SearchItem buildSearchItemFromTopic(String itemId) {
Topic topic = topicService.getById(itemId);
User user = userService.getById(topic.getUserId());
if (null != topic) {
SearchItem searchItem = new SearchItem(DataItemType.TOPIC, itemId);
SearchItem<TopicExtra> searchItem = new SearchItem<>(DataItemType.TOPIC, itemId);
searchItem.setTitle(topic.getTopicName());
searchItem.setAuthor(user.getNickName());
searchItem.setContent(topic.getTopicDescrption());
searchItem.setCover(topic.getCover());
searchItem.setDescription(topic.getTopicDescrption());
searchItem.setCreateTime(topic.getCreateTime());
searchItem.setUpdateTime(topic.getUpdateTime());
TopicExtra topicExtra = new TopicExtra();
topicExtra.setReferenceCount(topic.getReferenceCount());
searchItem.setExtra(topicExtra);
return searchItem;
}
return null;
......@@ -310,6 +317,7 @@ public class SearchServiceImpl implements ISearchService {
if (null != projectDetail) {
SearchItem searchItem = new SearchItem(DataItemType.PROJECT, projectId);
searchItem.setTitle(projectDetail.getProjectName());
searchItem.setAuthor(projectDetail.getUserNick());
searchItem.setContent(projectDetail.getContent());
searchItem.setCover(projectDetail.getCover());
searchItem.setDescription(projectDetail.getProjectDescription());
......@@ -325,6 +333,7 @@ public class SearchServiceImpl implements ISearchService {
if (null != userInfoDTO) {
SearchItem<UserExtra> searchItem = new SearchItem(DataItemType.USER, userId);
searchItem.setTitle(userInfoDTO.getNickName());
searchItem.setAuthor(userInfoDTO.getNickName());
searchItem.setCover(userInfoDTO.getUserAvatar());
searchItem.setDescription(userInfoDTO.getSignature());
searchItem.setCreateTime(userInfoDTO.getCreateTime());
......@@ -344,6 +353,7 @@ public class SearchServiceImpl implements ISearchService {
if (null != questionDetail) {
SearchItem searchItem = new SearchItem(DataItemType.QUESTION, questionId);
searchItem.setTitle(questionDetail.getQuestionTitle());
searchItem.setAuthor(questionDetail.getUserNick());
searchItem.setContent(questionDetail.getContent());
searchItem.setDescription(questionDetail.getQuestionAbstract());
searchItem.setCreateTime(questionDetail.getCreateTime());
......@@ -358,6 +368,7 @@ public class SearchServiceImpl implements ISearchService {
if (null != blogDetail) {
SearchItem searchItem = new SearchItem(DataItemType.BLOG, blogId);
searchItem.setTitle(blogDetail.getBlogTitle());
searchItem.setAuthor(blogDetail.getUserNick());
searchItem.setContent(blogDetail.getContent());
searchItem.setCover(blogDetail.getCover());
searchItem.setDescription(blogDetail.getBlogAbstract());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment