add virtual_host to suggest
This commit is contained in:
parent
acde55fe09
commit
297d846914
2 changed files with 29 additions and 2 deletions
|
@ -79,6 +79,12 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
builder.setSize(parameter.getNum());
|
||||
stream(langs).of(stream -> stream.forEach(builder::addLang));
|
||||
|
||||
stream(parameter.getTags()).of(stream -> stream.forEach(builder::addTag));
|
||||
final String key = ComponentUtil.getFessConfig().getVirtualHostKey();
|
||||
if (StringUtil.isNotBlank(key)) {
|
||||
builder.addTag(key);
|
||||
}
|
||||
|
||||
builder.addKind(SuggestItem.Kind.USER.toString());
|
||||
if (ComponentUtil.getFessConfig().isSuggestSearchLog()) {
|
||||
builder.addKind(SuggestItem.Kind.QUERY.toString());
|
||||
|
@ -149,8 +155,12 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
|
||||
private final HttpServletRequest request;
|
||||
|
||||
protected RequestParameter(final HttpServletRequest request, final String query, final String[] fields, final int num) {
|
||||
private final String[] tags;
|
||||
|
||||
protected RequestParameter(final HttpServletRequest request, final String query, final String[] tags, final String[] fields,
|
||||
final int num) {
|
||||
this.query = query;
|
||||
this.tags = tags;
|
||||
this.fields = fields;
|
||||
this.num = num;
|
||||
this.request = request;
|
||||
|
@ -174,7 +184,15 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
num = 10;
|
||||
}
|
||||
|
||||
return new RequestParameter(request, query, fields, num);
|
||||
final String tagsStr = request.getParameter("tags");
|
||||
final String[] tags;
|
||||
if (StringUtil.isNotBlank(tagsStr)) {
|
||||
tags = tagsStr.split(",");
|
||||
} else {
|
||||
tags = new String[0];
|
||||
}
|
||||
|
||||
return new RequestParameter(request, query, tags, fields, num);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -195,6 +213,10 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public String[] getTags() {
|
||||
return tags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getLanguages() {
|
||||
return getParamValueArray(request, "lang");
|
||||
|
|
|
@ -162,6 +162,11 @@ public class SuggestHelper {
|
|||
}
|
||||
}
|
||||
|
||||
final String virtualHost = searchLog.getVirtualHost();
|
||||
if (virtualHost != null) {
|
||||
tags.add(virtualHost);
|
||||
}
|
||||
|
||||
if (sb.length() > 0) {
|
||||
final String[] langs = searchLog.getLanguages() == null ? new String[] {} : searchLog.getLanguages().split(",");
|
||||
stream(searchLog.getRoles()).of(stream -> stream.forEach(role -> roles.add(role)));
|
||||
|
|
Loading…
Add table
Reference in a new issue