Commit 5df61b4d by 段启岩

搜索更新

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