|
@@ -79,6 +79,12 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|
builder.setSize(parameter.getNum());
|
|
builder.setSize(parameter.getNum());
|
|
stream(langs).of(stream -> stream.forEach(builder::addLang));
|
|
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());
|
|
builder.addKind(SuggestItem.Kind.USER.toString());
|
|
if (ComponentUtil.getFessConfig().isSuggestSearchLog()) {
|
|
if (ComponentUtil.getFessConfig().isSuggestSearchLog()) {
|
|
builder.addKind(SuggestItem.Kind.QUERY.toString());
|
|
builder.addKind(SuggestItem.Kind.QUERY.toString());
|
|
@@ -149,8 +155,12 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|
|
|
|
|
private final HttpServletRequest request;
|
|
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.query = query;
|
|
|
|
+ this.tags = tags;
|
|
this.fields = fields;
|
|
this.fields = fields;
|
|
this.num = num;
|
|
this.num = num;
|
|
this.request = request;
|
|
this.request = request;
|
|
@@ -174,7 +184,15 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|
num = 10;
|
|
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
|
|
@Override
|
|
@@ -195,6 +213,10 @@ public class SuggestApiManager extends BaseJsonApiManager {
|
|
throw new UnsupportedOperationException();
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public String[] getTags() {
|
|
|
|
+ return tags;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public String[] getLanguages() {
|
|
public String[] getLanguages() {
|
|
return getParamValueArray(request, "lang");
|
|
return getParamValueArray(request, "lang");
|