mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-08-04 06:48:43 +00:00
feat(discover): prevent duplicate articles
This commit is contained in:
@ -38,28 +38,30 @@ export const GET = async (req: Request) => {
|
|||||||
let data = [];
|
let data = [];
|
||||||
|
|
||||||
if (mode === 'normal') {
|
if (mode === 'normal') {
|
||||||
|
const seenUrls = new Set();
|
||||||
|
|
||||||
data = (
|
data = (
|
||||||
await Promise.all([
|
await Promise.all(
|
||||||
...new Array(selectedTopic.links.length * selectedTopic.query.length)
|
selectedTopic.links.flatMap((link) =>
|
||||||
.fill(0)
|
selectedTopic.query.map(async (query) => {
|
||||||
.map(async (_, i) => {
|
|
||||||
return (
|
return (
|
||||||
await searchSearxng(
|
await searchSearxng(`site:${link} ${query}`, {
|
||||||
`site:${selectedTopic.links[i % selectedTopic.links.length]} ${
|
engines: ['bing news'],
|
||||||
selectedTopic.query[i % selectedTopic.query.length]
|
pageno: 1,
|
||||||
}`,
|
language: 'en',
|
||||||
{
|
})
|
||||||
engines: ['bing news'],
|
|
||||||
pageno: 1,
|
|
||||||
language: 'en',
|
|
||||||
},
|
|
||||||
)
|
|
||||||
).results;
|
).results;
|
||||||
}),
|
}),
|
||||||
])
|
),
|
||||||
|
)
|
||||||
)
|
)
|
||||||
.map((result) => result)
|
|
||||||
.flat()
|
.flat()
|
||||||
|
.filter((item) => {
|
||||||
|
const url = item.url?.toLowerCase().trim();
|
||||||
|
if (seenUrls.has(url)) return false;
|
||||||
|
seenUrls.add(url);
|
||||||
|
return true;
|
||||||
|
})
|
||||||
.sort(() => Math.random() - 0.5);
|
.sort(() => Math.random() - 0.5);
|
||||||
} else {
|
} else {
|
||||||
data = (
|
data = (
|
||||||
|
Reference in New Issue
Block a user