From 8db9e90bdfb74c3ed3e5277c116d92598227ae8f Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Wed, 1 Apr 2026 22:37:04 +0200 Subject: [PATCH] Search: Use default semantic_text inference, remove Jina mappings Elasticsearch Serverless now defaults semantic_text to Jina, making the explicit Jina sub-fields redundant and the ELSER inference ID unnecessary. This removes both inference ID constants, all .jina field mappings, and lets semantic_text fields use the platform default. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../Search/DocumentationMappingConfig.cs | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/Elastic.Documentation/Search/DocumentationMappingConfig.cs b/src/Elastic.Documentation/Search/DocumentationMappingConfig.cs index 41962d4160..4fbbeef830 100644 --- a/src/Elastic.Documentation/Search/DocumentationMappingConfig.cs +++ b/src/Elastic.Documentation/Search/DocumentationMappingConfig.cs @@ -90,9 +90,6 @@ internal static MappingsBuilder ConfigureCommonMappings(M public class SemanticConfig : IConfigureElasticsearch { - private const string ElserInferenceId = ".elser-2-elastic"; - private const string JinaInferenceId = ".jina-embeddings-v5-text-small"; - public AnalysisBuilder ConfigureAnalysis(AnalysisBuilder analysis) => analysis; public IReadOnlyDictionary? IndexSettings => null; @@ -104,18 +101,12 @@ public MappingsBuilder ConfigureMappings(MappingsBuilder< .SearchAnalyzer("synonyms_analyzer") .TermVector("with_positions_offsets") ) - // ELSER sparse embeddings - .AddField("title.semantic_text", f => f.SemanticText().InferenceId(ElserInferenceId)) - .AddField("abstract.semantic_text", f => f.SemanticText().InferenceId(ElserInferenceId)) - .AddField("ai_rag_optimized_summary.semantic_text", f => f.SemanticText().InferenceId(ElserInferenceId)) - .AddField("ai_questions.semantic_text", f => f.SemanticText().InferenceId(ElserInferenceId)) - .AddField("ai_use_cases.semantic_text", f => f.SemanticText().InferenceId(ElserInferenceId)) - // Jina v5 dense embeddings - .AddField("title.jina", f => f.SemanticText().InferenceId(JinaInferenceId)) - .AddField("abstract.jina", f => f.SemanticText().InferenceId(JinaInferenceId)) - .AddField("ai_rag_optimized_summary.jina", f => f.SemanticText().InferenceId(JinaInferenceId)) - .AddField("ai_questions.jina", f => f.SemanticText().InferenceId(JinaInferenceId)) - .AddField("ai_use_cases.jina", f => f.SemanticText().InferenceId(JinaInferenceId)); + // Semantic text fields — uses platform default inference + .AddField("title.semantic_text", f => f.SemanticText()) + .AddField("abstract.semantic_text", f => f.SemanticText()) + .AddField("ai_rag_optimized_summary.semantic_text", f => f.SemanticText()) + .AddField("ai_questions.semantic_text", f => f.SemanticText()) + .AddField("ai_use_cases.semantic_text", f => f.SemanticText()); } ///