From a0c5098cc44c46f394efe7c1259875ce59d42294 Mon Sep 17 00:00:00 2001 From: Satellaa Date: Tue, 24 Sep 2024 22:17:06 +0700 Subject: [PATCH] [Fix] Improve card name search with phrase matching - Add phrase matching to search compound - Prioritize phrase matches over repeated keywords Example: Query: "monster reborn" Old result: "Monster Reborn Reborn" New result: "Monster Reborn" --- src/utils/query.rs | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/utils/query.rs b/src/utils/query.rs index 39ff847..2473329 100644 --- a/src/utils/query.rs +++ b/src/utils/query.rs @@ -11,12 +11,25 @@ impl QueryHolder { doc! { "$search": { "index": index, - "text": { - "query": query, - "path": path, - "fuzzy": { - "maxEdits": 1 - } + "compound": { + "should": [ + doc! { + "text": { + "query": query, + "path": path, + "fuzzy": { + "maxEdits": 1 + } + } + }, + doc! { + "phrase": { + "query": query, + "path": path, + "slop": 0 + } + } + ] } } }