添加es查询是JobTitle或者JobCategory

This commit is contained in:
chenshaohua
2026-06-26 13:46:31 +08:00
parent 1bd611d569
commit a78703ede7

View File

@@ -500,18 +500,27 @@ public class ESJobSearchImpl implements IESJobSearchService
String cateStr = esJobSearch.getJobCategory(); String cateStr = esJobSearch.getJobCategory();
if (!StringUtil.isEmptyOrNull(titleStr) || !StringUtil.isEmptyOrNull(cateStr)) { if (!StringUtil.isEmptyOrNull(titleStr) || !StringUtil.isEmptyOrNull(cateStr)) {
wrapper.and(sub -> { wrapper.and(sub -> {
boolean first = true;
sub.or(); sub.or();
boolean hasPrev = false;
if (!StringUtil.isEmptyOrNull(titleStr)) { if (!StringUtil.isEmptyOrNull(titleStr)) {
String[] words = titleStr.split(","); String[] words = titleStr.split(",");
for (String w : words) { for (int i = 0; i < words.length; i++) {
if (!first) sub.or(); String w = words[i];
sub.match(ESJobDocument::getJobTitle, w, 5.0f); sub.match(ESJobDocument::getJobTitle, w, 5.0f);
first = false; if (i != words.length - 1) {
sub.or();
} }
} }
if (!StringUtil.isEmptyOrNull(cateStr)) { hasPrev = true;
if (!first) sub.or(); sub.or();
sub.eq(ESJobDocument::getJobCategory, titleStr);
}
if (!StringUtil.isEmptyOrNull(cateStr) && !cateStr.equals(titleStr)) {
if (hasPrev) {
sub.or();
}
sub.match(ESJobDocument::getJobTitle, cateStr, 5.0f);
sub.or();
sub.eq(ESJobDocument::getJobCategory, cateStr); sub.eq(ESJobDocument::getJobCategory, cateStr);
} }
}); });