From fbdc9d430be578186aea32b2a2db0d1e401d0ddc Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Thu, 22 Aug 2024 19:40:58 -0400 Subject: [PATCH] Improve node search matching algorithm (#597) --- src/services/nodeSearchService.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/services/nodeSearchService.ts b/src/services/nodeSearchService.ts index 976689c00..b33847872 100644 --- a/src/services/nodeSearchService.ts +++ b/src/services/nodeSearchService.ts @@ -121,7 +121,14 @@ export class NodeSearchService { includeScore: true, threshold: 0.3, shouldSort: true, - useExtendedSearch: true + useExtendedSearch: true, + // Sort by score, then by length of the display name, then by index + // Source: https://github.com/Comfy-Org/ComfyUI_frontend/issues/562#issuecomment-2303239027 + sortFn: (a, b) => + Math.min(a.score, b.score) < 0.0001 || + Math.abs(a.score - b.score) > 0.01 + ? a.score - b.score + : a.item[1]['v']['length'] - b.item[1]['v']['length'] || a.idx - b.idx }) const filterSearchOptions = {