modify administrative access for search
This commit is contained in:
parent
32622c816b
commit
08a02f533a
8 changed files with 28 additions and 7 deletions
|
@ -765,5 +765,10 @@ public class JsonApiManager extends BaseApiManager {
|
|||
return pageSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdministrativeAccess() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -137,7 +137,8 @@ public class SearchService {
|
|||
searchRequestBuilder -> {
|
||||
return SearchConditionBuilder.builder(searchRequestBuilder).query(query).offset(pageStart).size(pageSize)
|
||||
.facetInfo(params.getFacetInfo()).geoInfo(params.getGeoInfo())
|
||||
.responseFields(queryHelper.getResponseFields()).build();
|
||||
.responseFields(queryHelper.getResponseFields()).administrativeAccess(params.isAdministrativeAccess())
|
||||
.build();
|
||||
}, (searchRequestBuilder, execTime, searchResponse) -> {
|
||||
final QueryResponseList queryResponseList = ComponentUtil.getQueryResponseList();
|
||||
queryResponseList.init(searchResponse, pageStart, pageSize);
|
||||
|
|
|
@ -41,7 +41,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author codelibs
|
||||
* @author shinsuke
|
||||
* @author Keiichi Watanabe
|
||||
*/
|
||||
public class AdminSearchlistAction extends FessAdminAction {
|
||||
|
|
|
@ -140,4 +140,9 @@ public class ListForm implements SearchRequestParams, Serializable {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdministrativeAccess() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -135,4 +135,9 @@ public class SearchForm implements SearchRequestParams, Serializable {
|
|||
public String getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdministrativeAccess() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,4 +39,6 @@ public interface SearchRequestParams {
|
|||
|
||||
int getPageSize();
|
||||
|
||||
boolean isAdministrativeAccess();
|
||||
|
||||
}
|
||||
|
|
|
@ -775,8 +775,8 @@ public class FessEsClient implements Client {
|
|||
return this;
|
||||
}
|
||||
|
||||
public SearchConditionBuilder administrativeAccess() {
|
||||
administrativeAccess = true;
|
||||
public SearchConditionBuilder administrativeAccess(boolean administrativeAccess) {
|
||||
this.administrativeAccess = administrativeAccess;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -89,10 +89,13 @@ public class KeyMatchHelper {
|
|||
final FessEsClient fessEsClient = ComponentUtil.getElasticsearchClient();
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
final List<Map<String, Object>> documentList =
|
||||
fessEsClient.getDocumentList(fessConfig.getIndexDocumentIndex(), fessConfig.getIndexDocumentType(),
|
||||
fessEsClient.getDocumentList(
|
||||
fessConfig.getIndexDocumentIndex(),
|
||||
fessConfig.getIndexDocumentType(),
|
||||
searchRequestBuilder -> {
|
||||
return SearchConditionBuilder.builder(searchRequestBuilder).administrativeAccess().size(keyMatch.getMaxSize())
|
||||
.query(keyMatch.getQuery()).responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build();
|
||||
return SearchConditionBuilder.builder(searchRequestBuilder).administrativeAccess(true)
|
||||
.size(keyMatch.getMaxSize()).query(keyMatch.getQuery())
|
||||
.responseFields(new String[] { fessConfig.getIndexFieldDocId() }).build();
|
||||
});
|
||||
return documentList;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue