mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 13:09:00 +00:00
(search) Filter blacklisted items in API query service as well
This commit is contained in:
parent
235bb6c1b9
commit
9e0367eef4
@ -3,6 +3,7 @@ package nu.marginalia.search.svc;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.inject.Inject;
|
||||
import lombok.SneakyThrows;
|
||||
import nu.marginalia.db.DomainBlacklist;
|
||||
import nu.marginalia.index.client.model.results.SearchResultKeywordScore;
|
||||
import nu.marginalia.search.client.model.ApiSearchResultQueryDetails;
|
||||
import nu.marginalia.model.idx.WordMetadata;
|
||||
@ -24,10 +25,15 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class SearchApiQueryService {
|
||||
private SearchOperator searchOperator;
|
||||
private final DomainBlacklist blacklist;
|
||||
|
||||
@Inject
|
||||
public SearchApiQueryService(SearchOperator searchOperator) {
|
||||
public SearchApiQueryService(
|
||||
SearchOperator searchOperator,
|
||||
DomainBlacklist blacklist
|
||||
) {
|
||||
this.searchOperator = searchOperator;
|
||||
this.blacklist = blacklist;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@ -58,6 +64,8 @@ public class SearchApiQueryService {
|
||||
|
||||
var results = searchOperator.doApiSearch(ctx, new UserSearchParameters(humanQuery, profile, SearchJsParameter.DEFAULT));
|
||||
|
||||
results.removeIf(details -> blacklist.isBlacklisted(details.domainId));
|
||||
|
||||
return new ApiSearchResults("RESTRICTED", humanQuery, results.stream().map(this::convert).limit(limit).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user