Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
K
know-base
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
know-base
Commits
1efa8fb7
提交
1efa8fb7
authored
9月 23, 2024
作者:
yanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
性能优化,查询列表时不查询正文字段
上级
8fa3ba95
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
15 行增加
和
3 行删除
+15
-3
KnowledgeUserController.java
...com/zzsn/knowbase/controller/KnowledgeUserController.java
+3
-0
KnowledgeServiceImpl.java
.../com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
+12
-3
没有找到文件。
src/main/java/com/zzsn/knowbase/controller/KnowledgeUserController.java
浏览文件 @
1efa8fb7
...
...
@@ -151,6 +151,9 @@ public class KnowledgeUserController {
if
(
loginUser
==
null
){
return
Result
.
error
(
"用户未登录!"
);
}
if
(
"0"
.
equals
(
knowledgeParam
.
getKnowledgeProjectId
())){
knowledgeParam
.
setKnowledgeProjectId
(
null
);
}
knowledgeParam
.
setKbKnowledgeId
(
Constants
.
SC_USER
);
knowledgeParam
.
setTypeIds
(
Constants
.
SC_CATEGORY
);
knowledgeParam
.
setUserId
(
loginUser
.
getId
());
...
...
src/main/java/com/zzsn/knowbase/service/impl/KnowledgeServiceImpl.java
浏览文件 @
1efa8fb7
...
...
@@ -457,6 +457,8 @@ class KnowledgeServiceImpl implements IKnowledgeService {
//设置分页参数
searchSourceBuilder
.
size
(
pageSize
);
searchSourceBuilder
.
from
((
pageNo
-
1
)
*
pageSize
);
//性能优化,查询列表时不查询正文字段
searchSourceBuilder
.
fetchSource
(
null
,
new
String
[]{
"contents"
,
"contentWithTag"
});
//默认按照置顶以及时间倒序排列
//根据topNum正序查找,查询置顶数据
// searchSourceBuilder.sort("publishDate", SortOrder.DESC);
...
...
@@ -497,13 +499,16 @@ class KnowledgeServiceImpl implements IKnowledgeService {
multiMatchQueryBuilder
.
type
(
MultiMatchQueryBuilder
.
Type
.
PHRASE
);
if
(
null
!=
knowledgeParam
.
getSearchScope
()
&&
Integer
.
valueOf
(
1
).
equals
(
knowledgeParam
.
getSearchScope
()))
{
multiMatchQueryBuilder
.
field
(
"title"
);
boolQuery
.
must
(
multiMatchQueryBuilder
);
}
else
if
(
null
!=
knowledgeParam
.
getSearchScope
()
&&
Integer
.
valueOf
(
2
).
equals
(
knowledgeParam
.
getSearchScope
()))
{
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
multiMatchQueryBuilder
.
field
(
"contents.content"
);
nestedBoolQueryBuilder
.
must
(
multiMatchQueryBuilder
);
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
.
nestedQuery
(
"contents"
,
nestedBoolQueryBuilder
,
ScoreMode
.
None
);
boolQuery
.
must
(
nestedQueryBuilder
);
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
boolQueryBuilder
.
should
(
nestedQueryBuilder
);
boolQueryBuilder
.
should
(
QueryBuilders
.
matchPhraseQuery
(
"contentWithTag"
,
knowledgeParam
.
getSearchInfo
()));
boolQuery
.
must
(
boolQueryBuilder
);
}
else
{
multiMatchQueryBuilder
.
field
(
"title"
,
60
);
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
...
...
@@ -515,12 +520,17 @@ class KnowledgeServiceImpl implements IKnowledgeService {
}
else
{
if
(
null
!=
knowledgeParam
.
getSearchScope
()
&&
Integer
.
valueOf
(
1
).
equals
(
knowledgeParam
.
getSearchScope
()))
{
multiMatchQueryBuilder
.
field
(
"title"
);
boolQuery
.
must
(
multiMatchQueryBuilder
);
}
else
if
(
null
!=
knowledgeParam
.
getSearchScope
()
&&
Integer
.
valueOf
(
2
).
equals
(
knowledgeParam
.
getSearchScope
()))
{
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
multiMatchQueryBuilder
.
field
(
"contents.content"
);
nestedBoolQueryBuilder
.
must
(
multiMatchQueryBuilder
);
NestedQueryBuilder
nestedQueryBuilder
=
QueryBuilders
.
nestedQuery
(
"contents"
,
nestedBoolQueryBuilder
,
ScoreMode
.
None
);
boolQuery
.
must
(
nestedQueryBuilder
);
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
boolQueryBuilder
.
should
(
nestedQueryBuilder
);
boolQueryBuilder
.
should
(
QueryBuilders
.
matchQuery
(
"contentWithTag"
,
knowledgeParam
.
getSearchInfo
()));
boolQuery
.
must
(
boolQueryBuilder
);
}
else
{
multiMatchQueryBuilder
.
field
(
"title"
,
3
);
BoolQueryBuilder
nestedBoolQueryBuilder
=
QueryBuilders
.
boolQuery
();
...
...
@@ -530,7 +540,6 @@ class KnowledgeServiceImpl implements IKnowledgeService {
boolQuery
.
must
(
nestedQueryBuilder
);
}
}
boolQuery
.
must
(
multiMatchQueryBuilder
);
}
if
(
StringUtils
.
isNotEmpty
(
knowledgeParam
.
getOrigin
()))
{
boolQuery
.
must
(
QueryBuilders
.
matchQuery
(
"origin"
,
knowledgeParam
.
getOrigin
()));
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论