Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dgr6878
PublicCMS
提交
fc102ed9
PublicCMS
项目概览
dgr6878
/
PublicCMS
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
PublicCMS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
fc102ed9
编写于
1月 20, 2021
作者:
S
sanluan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
elsaticsearch搜索复杂词汇高亮无效修改
上级
c7016d7a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
49 addition
and
16 deletion
+49
-16
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/base/BaseDao.java
...mmon/src/main/java/com/publiccms/common/base/BaseDao.java
+4
-3
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/handler/RemoteMatchQueryScorer.java
.../com/publiccms/common/handler/RemoteMatchQueryScorer.java
+8
-4
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/handler/RemoteMatchQueryWeightedSpanTermExtractor.java
...on/handler/RemoteMatchQueryWeightedSpanTermExtractor.java
+23
-4
publiccms-parent/publiccms-core/src/main/java/com/publiccms/controller/admin/sys/UeditorAdminController.java
...ubliccms/controller/admin/sys/UeditorAdminController.java
+9
-5
publiccms-parent/publiccms/src/main/resources/templates/admin/common/mapResult.html
.../src/main/resources/templates/admin/common/mapResult.html
+5
-0
未找到文件。
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/base/BaseDao.java
浏览文件 @
fc102ed9
...
...
@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
import
org.apache.lucene.analysis.Analyzer
;
import
org.apache.lucene.search.highlight.Highlighter
;
import
org.apache.lucene.search.highlight.QueryScorer
;
import
org.apache.lucene.search.highlight.SimpleHTMLFormatter
;
...
...
@@ -520,7 +521,8 @@ public abstract class BaseDao<E> {
}
else
{
formatter
=
new
SimpleHTMLFormatter
();
}
QueryScorer
queryScorer
=
new
RemoteMatchQueryScorer
(
fullTextQuery
.
getLuceneQuery
(),
defaultFieldName
);
Analyzer
analyzer
=
getFullTextSession
().
getSearchFactory
().
getAnalyzer
(
"cms"
);
QueryScorer
queryScorer
=
new
RemoteMatchQueryScorer
(
analyzer
,
fullTextQuery
.
getLuceneQuery
(),
defaultFieldName
);
Highlighter
highlighter
=
new
Highlighter
(
formatter
,
queryScorer
);
for
(
E
e
:
resultList
)
{
for
(
String
fieldName
:
highLighterFieldNames
)
{
...
...
@@ -529,8 +531,7 @@ public abstract class BaseDao<E> {
String
hightLightFieldValue
=
null
;
if
(
fieldValue
instanceof
String
&&
CommonUtils
.
notEmpty
(
String
.
valueOf
(
fieldValue
)))
{
String
safeValue
=
HtmlUtils
.
htmlEscape
(
String
.
valueOf
(
fieldValue
),
Constants
.
DEFAULT_CHARSET_NAME
);
hightLightFieldValue
=
highlighter
.
getBestFragment
(
getFullTextSession
().
getSearchFactory
().
getAnalyzer
(
"cms"
),
fieldName
,
safeValue
);
hightLightFieldValue
=
highlighter
.
getBestFragment
(
analyzer
,
fieldName
,
safeValue
);
if
(
CommonUtils
.
notEmpty
(
hightLightFieldValue
))
{
ReflectionUtils
.
invokeMethod
(
BeanUtils
.
getPropertyDescriptor
(
getEntityClass
(),
fieldName
).
getWriteMethod
(),
e
,
...
...
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/handler/RemoteMatchQueryScorer.java
浏览文件 @
fc102ed9
package
com.publiccms.common.handler
;
import
org.apache.lucene.analysis.Analyzer
;
import
org.apache.lucene.search.Query
;
import
org.apache.lucene.search.highlight.QueryScorer
;
import
org.apache.lucene.search.highlight.WeightedSpanTermExtractor
;
public
class
RemoteMatchQueryScorer
extends
QueryScorer
{
private
Analyzer
analyzer
;
public
RemoteMatchQueryScorer
(
Query
query
,
String
field
)
{
public
RemoteMatchQueryScorer
(
Analyzer
analyzer
,
Query
query
,
String
field
)
{
super
(
query
,
field
);
this
.
analyzer
=
analyzer
;
}
public
RemoteMatchQueryScorer
(
Query
query
,
String
field
,
String
defaultField
)
{
public
RemoteMatchQueryScorer
(
Analyzer
analyzer
,
Query
query
,
String
field
,
String
defaultField
)
{
super
(
query
,
null
,
field
,
defaultField
);
this
.
analyzer
=
analyzer
;
}
@Override
protected
WeightedSpanTermExtractor
newTermExtractor
(
String
defaultField
)
{
return
defaultField
==
null
?
new
RemoteMatchQueryWeightedSpanTermExtractor
()
:
new
RemoteMatchQueryWeightedSpanTermExtractor
(
defaultField
);
return
defaultField
==
null
?
new
RemoteMatchQueryWeightedSpanTermExtractor
(
analyzer
)
:
new
RemoteMatchQueryWeightedSpanTermExtractor
(
analyzer
,
defaultField
);
}
}
publiccms-parent/publiccms-common/src/main/java/com/publiccms/common/handler/RemoteMatchQueryWeightedSpanTermExtractor.java
浏览文件 @
fc102ed9
package
com.publiccms.common.handler
;
import
java.io.IOException
;
import
java.io.StringReader
;
import
java.util.Map
;
import
org.apache.lucene.analysis.Analyzer
;
import
org.apache.lucene.analysis.TokenStream
;
import
org.apache.lucene.analysis.tokenattributes.CharTermAttribute
;
import
org.apache.lucene.search.Query
;
import
org.apache.lucene.search.highlight.WeightedSpanTerm
;
import
org.apache.lucene.search.highlight.WeightedSpanTermExtractor
;
import
org.hibernate.search.query.dsl.impl.RemoteMatchQuery
;
public
class
RemoteMatchQueryWeightedSpanTermExtractor
extends
WeightedSpanTermExtractor
{
public
RemoteMatchQueryWeightedSpanTermExtractor
(
String
defaultField
)
{
private
Analyzer
analyzer
;
public
RemoteMatchQueryWeightedSpanTermExtractor
(
Analyzer
analyzer
,
String
defaultField
)
{
super
(
defaultField
);
this
.
analyzer
=
analyzer
;
}
public
RemoteMatchQueryWeightedSpanTermExtractor
()
{
public
RemoteMatchQueryWeightedSpanTermExtractor
(
Analyzer
analyzer
)
{
this
.
analyzer
=
analyzer
;
}
@Override
...
...
@@ -21,8 +29,19 @@ public class RemoteMatchQueryWeightedSpanTermExtractor extends WeightedSpanTermE
if
(
query
instanceof
RemoteMatchQuery
)
{
RemoteMatchQuery
queryTerm
=
(
RemoteMatchQuery
)
query
;
if
(
fieldNameComparator
(
queryTerm
.
getField
()))
{
WeightedSpanTerm
weightedSpanTerm
=
new
WeightedSpanTerm
(
boost
,
queryTerm
.
getSearchTerms
());
terms
.
put
(
queryTerm
.
getSearchTerms
(),
weightedSpanTerm
);
try
(
StringReader
stringReader
=
new
StringReader
(
queryTerm
.
getSearchTerms
());
TokenStream
tokenStream
=
analyzer
.
tokenStream
(
queryTerm
.
getField
(),
stringReader
))
{
CharTermAttribute
charTermAttribute
=
tokenStream
.
addAttribute
(
CharTermAttribute
.
class
);
tokenStream
.
reset
();
while
(
tokenStream
.
incrementToken
())
{
String
term
=
charTermAttribute
.
toString
();
WeightedSpanTerm
weightedSpanTerm
=
new
WeightedSpanTerm
(
boost
,
term
);
terms
.
put
(
term
,
weightedSpanTerm
);
}
tokenStream
.
end
();
}
catch
(
IOException
e
)
{
}
}
}
else
{
super
.
extract
(
query
,
boost
,
terms
);
...
...
publiccms-parent/publiccms-core/src/main/java/com/publiccms/controller/admin/sys/UeditorAdminController.java
浏览文件 @
fc102ed9
...
...
@@ -68,7 +68,7 @@ public class UeditorAdminController {
protected
static
final
String
FIELD_NAME
=
"file"
;
protected
static
final
String
SCRAW_TYPE
=
".jpg"
;
protected
static
final
String
[]
IMAGE_ALLOW_FILES
=
new
String
[]
{
".png"
,
".jpg"
,
".jpeg"
,
".gif"
,
".bmp"
,
".svg"
};
protected
static
final
String
[]
IMAGE_ALLOW_FILES
=
new
String
[]
{
".png"
,
".jpg"
,
".jpeg"
,
".gif"
,
".bmp"
,
".svg"
};
protected
static
final
String
[]
VIDEO_ALLOW_FILES
=
new
String
[]
{
".flv"
,
".swf"
,
".mkv"
,
".avi"
,
".rm"
,
".rmvb"
,
".mpeg"
,
".mpg"
,
".ogg"
,
".ogv"
,
".mov"
,
".wmv"
,
".mp4"
,
".webm"
,
".mp3"
,
".wav"
,
".mid"
};
...
...
@@ -124,8 +124,7 @@ public class UeditorAdminController {
* @return view name
*/
@RequestMapping
(
params
=
"action="
+
ACTION_UPLOAD
)
@ResponseBody
public
Map
<
String
,
Object
>
upload
(
@RequestAttribute
SysSite
site
,
@SessionAttribute
SysUser
admin
,
MultipartFile
file
,
public
String
upload
(
@RequestAttribute
SysSite
site
,
@SessionAttribute
SysUser
admin
,
MultipartFile
file
,
HttpServletRequest
request
,
ModelMap
model
)
{
if
(
null
!=
file
&&
!
file
.
isEmpty
())
{
String
originalName
=
file
.
getOriginalFilename
();
...
...
@@ -145,12 +144,17 @@ public class UeditorAdminController {
map
.
put
(
"url"
,
fileName
);
map
.
put
(
"type"
,
suffix
);
map
.
put
(
"original"
,
originalName
);
return
map
;
model
.
addAttribute
(
"result"
,
map
)
;
}
catch
(
IllegalStateException
|
IOException
e
)
{
model
.
addAttribute
(
"result"
,
getResultMap
(
false
));
}
}
else
{
model
.
addAttribute
(
"result"
,
getResultMap
(
false
));
}
}
else
{
model
.
addAttribute
(
"result"
,
getResultMap
(
false
));
}
return
getResultMap
(
false
)
;
return
"common/mapResult"
;
}
/**
...
...
publiccms-parent/publiccms/src/main/resources/templates/admin/common/mapResult.html
0 → 100644
浏览文件 @
fc102ed9
{
<
#list
result
as
k
,
v
>
"${k}":"${v}"
<
#sep
>
,
</
#
list>
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录