添加es查询是JobTitle或者JobCategory
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
hasPrev = true;
|
||||||
|
sub.or();
|
||||||
|
sub.eq(ESJobDocument::getJobCategory, titleStr);
|
||||||
}
|
}
|
||||||
if (!StringUtil.isEmptyOrNull(cateStr)) {
|
if (!StringUtil.isEmptyOrNull(cateStr) && !cateStr.equals(titleStr)) {
|
||||||
if (!first) sub.or();
|
if (hasPrev) {
|
||||||
|
sub.or();
|
||||||
|
}
|
||||||
|
sub.match(ESJobDocument::getJobTitle, cateStr, 5.0f);
|
||||||
|
sub.or();
|
||||||
sub.eq(ESJobDocument::getJobCategory, cateStr);
|
sub.eq(ESJobDocument::getJobCategory, cateStr);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user