modify administrative access for search

This commit is contained in:
Shinsuke Sugaya 2015-11-22 16:53:05 +09:00
parent 32622c816b
commit 08a02f533a
8 changed files with 28 additions and 7 deletions

View file

@ -765,5 +765,10 @@ public class JsonApiManager extends BaseApiManager {
return pageSize;
}
@Override
public boolean isAdministrativeAccess() {
return false;
}
}
}

View file

@ -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);

View file

@ -41,7 +41,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author codelibs
* @author shinsuke
* @author Keiichi Watanabe
*/
public class AdminSearchlistAction extends FessAdminAction {

View file

@ -140,4 +140,9 @@ public class ListForm implements SearchRequestParams, Serializable {
}
}
@Override
public boolean isAdministrativeAccess() {
return true;
}
}

View file

@ -135,4 +135,9 @@ public class SearchForm implements SearchRequestParams, Serializable {
public String getSort() {
return sort;
}
@Override
public boolean isAdministrativeAccess() {
return false;
}
}

View file

@ -39,4 +39,6 @@ public interface SearchRequestParams {
int getPageSize();
boolean isAdministrativeAccess();
}

View file

@ -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;
}

View file

@ -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;
}