From ddaba97af171e6adebad8b65423f9ca2d6d1571a Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Wed, 3 Sep 2025 01:09:17 +0200 Subject: [PATCH] Higher boost for fuzziness --- .../Adapters/Search/ElasticsearchGateway.cs | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/api/Elastic.Documentation.Api.Infrastructure/Adapters/Search/ElasticsearchGateway.cs b/src/api/Elastic.Documentation.Api.Infrastructure/Adapters/Search/ElasticsearchGateway.cs index 0f14f4f2f..796ced6bc 100644 --- a/src/api/Elastic.Documentation.Api.Infrastructure/Adapters/Search/ElasticsearchGateway.cs +++ b/src/api/Elastic.Documentation.Api.Infrastructure/Adapters/Search/ElasticsearchGateway.cs @@ -82,15 +82,18 @@ public ElasticsearchGateway(ElasticsearchOptions elasticsearchOptions, ILogger q .Bool(b => b .Should( - // Tier 1: Exact/Prefix matches (highest boost) sh => sh.Prefix(p => p .Field("title.keyword") .Value(searchQuery) .CaseInsensitive(true) .Boost(300.0f) ), - - // Tier 2: Semantic search (combined into one clause) + sh => sh.Match(m => m + .Field(f => f.Title) + .Query(searchQuery) + .Fuzziness("AUTO") + .Boost(250.0f) + ), sh => sh.DisMax(dm => dm .Queries( dq => dq.Semantic(sem => sem @@ -104,8 +107,6 @@ public ElasticsearchGateway(ElasticsearchOptions elasticsearchOptions, ILogger sh.DisMax(dm => dm .Queries( dq => dq.MatchBoolPrefix(m => m @@ -124,20 +125,10 @@ public ElasticsearchGateway(ElasticsearchOptions elasticsearchOptions, ILogger sh.Match(m => m .Field("parents.title") .Query(searchQuery) .Boost(75.0f) - ), - - // Tier 5: Fuzzy fallback - sh => sh.Match(m => m - .Field(f => f.Title) - .Query(searchQuery) - .Fuzziness(1) // Reduced from 2 - .Boost(25.0f) ) ) .MustNot(mn => mn.Terms(t => t