Skip to content

Commit 54c02a3

Browse files
authored
fix: search result duplicate when keyword contains multiple langs (#1128)
1 parent 0380372 commit 54c02a3

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

packages/theme-default/src/components/Search/logic/providers/LocalProvider.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -104,12 +104,20 @@ export class LocalProvider implements Provider {
104104
this.#cjkIndex?.search(searchParams),
105105
this.#cyrilicIndex.search(searchParams),
106106
]);
107+
107108
const flattenSearchResult = searchResult.flat(2).filter(Boolean);
108109

110+
// There may be duplicate search results when there are multiple languages ​​in the search keyword
111+
const uniqueSearchResult = Array.from(
112+
new Set(flattenSearchResult.map(item => item.id)),
113+
).map(id => {
114+
return flattenSearchResult.find(item => item.id === id);
115+
});
116+
109117
return [
110118
{
111119
index: LOCAL_INDEX,
112-
hits: flattenSearchResult,
120+
hits: uniqueSearchResult,
113121
},
114122
];
115123
}

0 commit comments

Comments
 (0)