Skip to content

Search: bump contract to 0.12.0 and populate content_tier#3608

Open
Mpdreamz wants to merge 1 commit into
mainfrom
relevance/content-tier
Open

Search: bump contract to 0.12.0 and populate content_tier#3608
Mpdreamz wants to merge 1 commit into
mainfrom
relevance/content-tier

Conversation

@Mpdreamz

@Mpdreamz Mpdreamz commented Jul 2, 2026

Copy link
Copy Markdown
Member

Summary

website-search-data's relevance work (e6cfa72 + follow-ups) is published as Elastic.Internal.Search.Contract 0.12.0 (requires Elastic.Mapping 0.49.0). This bumps both and populates the new shared content_tier field for docs pages.

  • Package bump: Elastic.Mapping 0.48.0 → 0.49.0, Elastic.Internal.Search.Contract 0.11.0 → 0.12.0. This alone activates, with no docs-builder code changes needed: the content_tags copy_to field, the stemmer_override (config/install/auth), the c#/.netdotnet char_filter, the split fixed/updateable synonym filters, and a brand-qualified ai_search_query enrichment prompt.

  • content_tier classification: added ElasticsearchMarkdownExporter.ClassifyContentTier, called from CommonEnrichments:

    • release notes → Peripheral
    • deprecated / plugin / glossary / /docs/extend/Supplementary
    • section root/index pages, get-started/overview sections → Primary
    • everything else → Reference (the neutral default)
    • API reference pages (no navigation item) → Reference explicitly

    Uses the shared ContentTiers constants (not string literals) so values can't drift from website-search-data. ContentTier is folded into AssignDocumentMetadata's hash so a tier change triggers a re-index.

Test plan

  • dotnet build (whole solution, 43 projects) succeeds with no API drift from the bump
  • dotnet test tests/Elastic.Markdown.Tests — new ContentTierClassificationTests (12/12) and existing DocumentationDocumentSerializationTests all pass
  • Full Elastic.Markdown.Tests suite run; 14 pre-existing failures are unrelated ScopedFileSystem/git-checkout tests failing in this worktree environment
  • dotnet format / lint clean (pre-push hook passed)
  • Coordinate a reindex with the website-search-data owner once this and the two companion PRs (Search: sync agg/aggs synonym with website-search-data #3606 synonym sync, Search: guard navigation_* rank features against penalty default #3607 navigation guard) land — new index-time analysis only applies to newly created indices

website-search-data published Elastic.Internal.Search.Contract 0.12.0
(requires Elastic.Mapping 0.49.0), which adds the shared content_tier
keyword field (primary/reference/supplementary/peripheral, neutral
default 'reference') plus the ContentTiers constants, and activates
new index-time analysis (stemmer_override for config/install/auth,
a c#/.net -> dotnet char_filter, and split fixed vs. updateable
synonym filters) purely via the bump.

Bump the package versions and classify content_tier for docs pages
in CommonEnrichments via a new ClassifyContentTier helper:
  - release notes                          -> Peripheral
  - deprecated / plugin / glossary / extend -> Supplementary
  - section root pages, get-started/overview -> Primary
  - everything else                        -> Reference (the default)
API reference pages (no navigation item) get Reference explicitly.

Uses the shared ContentTiers constants rather than string literals
so values can't drift from website-search-data. Wires ContentTier
into AssignDocumentMetadata's hash so a tier change triggers a
re-index.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Mpdreamz Mpdreamz requested a review from a team as a code owner July 2, 2026 19:23
@Mpdreamz Mpdreamz requested a review from reakaleek July 2, 2026 19:23
@Mpdreamz Mpdreamz deployed to integration-tests July 2, 2026 19:23 — with GitHub Actions Active
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@Mpdreamz, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4ebc26aa-0718-4de9-877d-aab72678538d

📥 Commits

Reviewing files that changed from the base of the PR and between f3410ff and 9963b61.

📒 Files selected for processing (3)
  • Directory.Packages.props
  • src/Elastic.Markdown/Exporters/Elasticsearch/ElasticsearchMarkdownExporter.Export.cs
  • tests/Elastic.Markdown.Tests/Search/ContentTierClassificationTests.cs
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch relevance/content-tier

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Label error. Requires exactly 1 of: automation, breaking, bug, changelog:skip, chore, ci, dependencies, documentation, enhancement, feature, fix, redesign. Found:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant