mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 21:18:58 +00:00
Experimental domain-searching feature
This commit is contained in:
parent
b94dcb301f
commit
b49ebda5dd
@ -18,7 +18,7 @@ public interface EdgeDataStoreDao {
|
|||||||
|
|
||||||
List<BrowseResult> getRandomDomains(int count, EdgeDomainBlacklist backlist);
|
List<BrowseResult> getRandomDomains(int count, EdgeDomainBlacklist backlist);
|
||||||
|
|
||||||
List<BrowseResult> getBrowseResultFromUrlIds(List<EdgeId<EdgeUrl>> urlId);
|
List<BrowseResult> getBrowseResultFromUrlIds(List<EdgeId<EdgeUrl>> urlId, int count);
|
||||||
|
|
||||||
List<EdgeUrlDetails> getUrlDetailsMulti(List<EdgeId<EdgeUrl>> ids);
|
List<EdgeUrlDetails> getUrlDetailsMulti(List<EdgeId<EdgeUrl>> ids);
|
||||||
|
|
||||||
|
@ -266,7 +266,7 @@ public class EdgeDataStoreDaoImpl implements EdgeDataStoreDao {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<BrowseResult> getBrowseResultFromUrlIds(List<EdgeId<EdgeUrl>> urlId) {
|
public List<BrowseResult> getBrowseResultFromUrlIds(List<EdgeId<EdgeUrl>> urlId, int count) {
|
||||||
if (urlId.isEmpty())
|
if (urlId.isEmpty())
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
|
||||||
@ -277,8 +277,8 @@ public class EdgeDataStoreDaoImpl implements EdgeDataStoreDao {
|
|||||||
// this is safe, string cocatenation is of integers
|
// this is safe, string cocatenation is of integers
|
||||||
String inStmt = urlId.stream().map(id -> Integer.toString(id.id())).collect(Collectors.joining(", ", "(", ")"));
|
String inStmt = urlId.stream().map(id -> Integer.toString(id.id())).collect(Collectors.joining(", ", "(", ")"));
|
||||||
|
|
||||||
var rsp = stmt.executeQuery("SELECT DOMAIN_ID, DOMAIN_NAME FROM EC_URL_VIEW WHERE QUALITY>-10 AND ID IN " + inStmt);
|
var rsp = stmt.executeQuery("SELECT DOMAIN_ID, DOMAIN_NAME FROM EC_URL_VIEW INNER JOIN DOMAIN_METADATA ON EC_URL_VIEW.DOMAIN_ID=DOMAIN_METADATA.ID WHERE VISITED_URLS<500 AND QUALITY>-10 AND ID IN " + inStmt);
|
||||||
while (rsp.next()) {
|
while (rsp.next() && ret.size() < count) {
|
||||||
int id = rsp.getInt(1);
|
int id = rsp.getInt(1);
|
||||||
String domain = rsp.getString(2);
|
String domain = rsp.getString(2);
|
||||||
|
|
||||||
|
@ -116,10 +116,10 @@ public class EdgeSearchOperator {
|
|||||||
.findFirst().map(sq -> sq.searchTermsInclude).orElseGet(Collections::emptyList);
|
.findFirst().map(sq -> sq.searchTermsInclude).orElseGet(Collections::emptyList);
|
||||||
|
|
||||||
if (keywords.size() == 1) {
|
if (keywords.size() == 1) {
|
||||||
var request = new EdgeDomainSearchSpecification(specs.buckets.get(0), IndexBlock.Topic, keywords.get(0), 1_000_000, 5, 10);
|
var request = new EdgeDomainSearchSpecification(specs.buckets.get(0), IndexBlock.TitleKeywords, keywords.get(0), 1_000_000, 10, 20);
|
||||||
var response = indexClient.queryDomains(ctx, request);
|
var response = indexClient.queryDomains(ctx, request);
|
||||||
|
|
||||||
return edgeDataStoreDao.getBrowseResultFromUrlIds(response.results);
|
return edgeDataStoreDao.getBrowseResultFromUrlIds(response.results, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
Loading…
Reference in New Issue
Block a user