Skip to content

Improve search findability for providers and environment variables#17559

Closed
CamSoper wants to merge 1 commit intomasterfrom
CamSoper/search-findability-improvements
Closed

Improve search findability for providers and environment variables#17559
CamSoper wants to merge 1 commit intomasterfrom
CamSoper/search-findability-improvements

Conversation

@CamSoper
Copy link
Contributor

@CamSoper CamSoper commented Feb 13, 2026

Improves search discoverability for Alibaba Cloud provider and environment variables based on production testing.

Changes

  • Added synonym: aliyunalicloud (only new synonym needed after testing)
  • Added search keywords to environment variables documentation page with boost
  • Added promotion rule for searches containing PULUMI_ (uppercase)

Testing Results

Production testing showed:

  • aliyunalicloud synonym missing (this PR fixes it)
  • ✅ Environment variable searches (PULUMI_CONFIG_PASSPHRASE, etc.) not finding env vars page (this PR fixes it)
  • proxmox and hetzner synonyms already work in production (removed from PR)
  • ❌ Provider promotion rules not needed (package filtering works well, removed from PR)

Why Testing Environment Cannot Validate Search

Search cannot be validated in the testing environment (www.pulumi-test.io) because:

  1. Hardcoded index name: Hugo templates hardcode data-index="production" in:

    • layouts/partials/docs/menu.html
    • layouts/partials/blog/search.html
    • layouts/partials/tutorials/nav.html
  2. Shared Algolia index: Both production and testing use the same "production" Algolia index

  3. Testing workflow: Generates search-index.json and uploads to testing S3, but never pushes to Algolia

  4. Production-only updates: The hourly "Update Search Index" cron only fetches from production URLs (pulumi.com/search-index.json) and updates the production index

Validation approach: Merge to master, wait for next hourly Algolia update (or manually trigger), then test on production.

Impact

Fixes searches for Alibaba Cloud provider and ~40 environment variable searches per month.

@claude
Copy link
Contributor

claude bot commented Feb 13, 2026

Documentation Review

I've reviewed the changes in this PR based on analytics data to improve search findability. The implementation looks solid overall with just a few minor observations.

What works well

Synonyms: The three new provider synonyms (aliyun/alicloud, hetzner/hcloud, proxmox/proxmoxve) follow the established pattern correctly and are alphabetically sorted.

JavaScript structure: All promotion rules follow the existing pattern with proper objectID naming, condition structure, and consequence format.

Frontmatter search keywords: The environment variables page now has search keywords that match existing patterns (see content/docs/iac/concepts/state-and-backends.md for comparison of the keywords: field).

Observations

1. Frontmatter field name inconsistency (content/docs/iac/cli/environment-variables.md:14-28)

The environment variables page uses search: with nested keywords: and boost:, but existing examples in the codebase use a top-level keywords: field (not nested under search:). Compare:

This PR (new pattern):

search:
  keywords:
    - PULUMI_CONFIG_PASSPHRASE
  boost: true

Existing pattern (from state-and-backends.md):

keywords:
 - IaC
 - infrastructure state

Is the search: wrapper with boost: true a new feature being introduced? If so, this is fine. If not, consider using the existing keywords: field format for consistency.

2. PULUMI_ environment variable rule scope (scripts/search/settings.js:135-157)

The promotion rule uses anchoring: "contains" with pattern "PULUMI_", which will match any query containing that substring (e.g., "PULUMI_CONFIG", "using PULUMI_HOME", etc.). This is likely the intended behavior for catching all environment variable searches, but worth confirming it won't over-promote the page for queries like "setting up PULUMI_ACCESS_TOKEN with AWS" where users might want AWS-specific results first.

Summary

The changes are well-structured and data-driven. The only question is whether the new search: frontmatter structure is intentional or should align with the existing keywords: pattern. The synonym additions and promotion rules look good and follow established conventions.


Mention me (@claude) if you'd like me to review any changes or have questions about these observations!

@pulumi-bot
Copy link
Collaborator

…ables

Adds one missing provider synonym and improves environment variable
page findability based on production testing.

Changes:
- Add synonym: aliyun→alicloud (only new synonym needed)
- Add search keywords to environment variables page with boost
- Add promotion rule for PULUMI_ environment variable searches

Testing showed proxmox and hetzner synonyms already work in production.
Provider promotion rules deemed unnecessary as package filtering works well.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@CamSoper CamSoper force-pushed the CamSoper/search-findability-improvements branch from f7fca51 to 10d24f9 Compare February 13, 2026 00:31
@pulumi-bot
Copy link
Collaborator

@CamSoper
Copy link
Contributor Author

@claude Implement the correct pattern, please. Ignore the "boost" parameter if it's unsupported.

@claude
Copy link
Contributor

claude bot commented Feb 13, 2026

Claude finished @CamSoper's task in 1m 7s —— View job


Frontmatter pattern corrected

  • Read current environment variables file
  • Confirm correct pattern from existing files
  • Update frontmatter to use top-level keywords: field
  • Changes ready for commit

Changes Made

I've updated content/docs/iac/cli/environment-variables.md to use the correct frontmatter pattern:

Before:

search:
  keywords:
    - PULUMI_CONFIG_PASSPHRASE
    # ... more keywords
  boost: true

After:

keywords:
 - PULUMI_CONFIG_PASSPHRASE
 # ... more keywords

The changes:

  1. ✅ Removed the search: wrapper - now using top-level keywords: field
  2. ✅ Removed the boost: true parameter (as instructed)
  3. ✅ Aligned indentation to match existing pattern (single space after dash)

The file is ready to commit. Due to GitHub Actions permissions, I cannot push directly to the branch, but the changes are staged locally. You can pull and push them, or I can provide you with the exact diff to apply manually.


Branch: CamSoper/search-findability-improvements |

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.

2 participants