Skip to content

feat(search): geohash aggregation (bleve + opensearch) - #3272

Draft
dschmidt wants to merge 2 commits into
feat/graph-search-queryfrom
feat/search-geohash-aggregation
Draft

feat(search): geohash aggregation (bleve + opensearch)#3272
dschmidt wants to merge 2 commits into
feat/graph-search-queryfrom
feat/search-geohash-aggregation

Conversation

@dschmidt

@dschmidt dschmidt commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Adds a geohash-grid aggregation to search, so a client can get map-cell density (bucket key = geohash cell, value = doc count) across all accessible spaces in one query.

New optional AggregationOption.geohash_precision (1-12). Clients aggregate on location; the server resolves it to the indexed geo field and rejects non-geo fields.

  • OpenSearch: native geohash_grid on the geo-point sibling.
  • bleve (no native geohash): index precomputes geohash-prefix keyword siblings (location_geohash_1..12) and runs a terms facet on the requested length. Same cells and counts as OpenSearch.

No schema-version bump: the mapping change is additive, so the existing reconcile extends the index in place and warns to reindex; no fresh index needed.

Stacked on #3211 (graph search query + aggregations). Independent of geo-KQL (#3212): the only shared helper (ResolveGeoField) is included here.

@codacy-production

codacy-production Bot commented Aug 8, 2026

Copy link
Copy Markdown

Not up to standards ⛔

🟢 Coverage 74.05% diff coverage

Metric Results
Coverage variation Report missing for bda62d71
Diff coverage 74.05% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (bda62d7) Report Missing Report Missing Report Missing
Head commit (59aacc8) 84453 20148 23.86%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3272) 158 117 74.05%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

1 Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant