Skip to content

Add _geo_list documentation#3479

Open
jhf wants to merge 1 commit intomeilisearch:mainfrom
veridit:feature/geo-list-docs
Open

Add _geo_list documentation#3479
jhf wants to merge 1 commit intomeilisearch:mainfrom
veridit:feature/geo-list-docs

Conversation

@jhf
Copy link

@jhf jhf commented Feb 27, 2026

Summary

  • Document the new _geo_list reserved field for multi-point geosearch in the geosearch guide and documents reference
  • _geo_list allows a single document to have multiple discrete geo points (e.g., a company with several offices)
  • Update filtering, sorting, and CSV sections to reflect _geo_list support

Companion to meilisearch/meilisearch#6187.

Changes

  • learn/filtering_and_sorting/geosearch.mdx: Add _geo_list format description, update the _geo/_geojson interaction note, update filtering and sorting configuration sections, update CSV limitations
  • learn/getting_started/documents.mdx: Mention _geo_list alongside _geo and _geojson in the reserved attributes note

Test plan

  • Preview the geosearch page and verify the _geo_list section renders correctly
  • Verify internal links and code sample references are intact

🤖 Generated with Claude Code

Summary by CodeRabbit

Documentation

  • Introduced _geo_list field support for documents with multiple locations
  • Updated geospatial filtering and sorting guidance with expanded field options
  • Clarified which geospatial fields are supported in CSV imports
  • Enhanced reserved fields documentation

Companion to meilisearch/meilisearch#6187.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Feb 27, 2026

📝 Walkthrough

Walkthrough

Documentation updates introducing _geo_list as a supported geolocation field alongside existing _geo and _geojson. Changes reflect that filtering, sorting, and field configuration now accommodate the new field option for documents with multiple locations.

Changes

Cohort / File(s) Summary
Geosearch Documentation
learn/filtering_and_sorting/geosearch.mdx
Expanded guidance to include _geo_list as a valid geo field option. Updated reserved fields list, data format expectations, filtering/sorting behavior descriptions, and configuration examples. Added clarifications on CSV non-support and cross-field merging behavior.
Getting Started Documentation
learn/getting_started/documents.mdx
Updated reserved attributes note to list _geo, _geojson, or _geo_list as acceptable geolocation field options.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Hopping through docs with glee so bright,
A new _geo_list sees the light!
Three fields now dance—_geo, _geojson, and more,
Locations abundant, we're ready to explore! 🗺️✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding documentation for the _geo_list field. It accurately reflects the primary purpose of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
learn/filtering_and_sorting/geosearch.mdx (1)

55-69: Consider documenting accepted lat/lng value types for _geo_list points.

This section defines keys and array shape, but not whether lat/lng accept numeric strings like _geo does. Adding that detail would make ingestion rules clearer.

Based on learnings: "Documentation should be thorough, containing all information users need to use Meilisearch".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@learn/filtering_and_sorting/geosearch.mdx` around lines 55 - 69, Clarify the
accepted value types and validation rules for points in `_geo_list`: state that
each entry must be an object with `lat` and `lng` keys that may be numbers or
numeric strings (e.g., "48.8566") and will be parsed as floats, that lat must be
between -90 and 90 and lng between -180 and 180, that the array must be
non-empty when used to represent multiple locations, and that `null` or missing
coordinates are ignored; update the `_geo_list` paragraph to include these type
and range constraints and mention numeric-string parsing to match `_geo`
behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@learn/filtering_and_sorting/geosearch.mdx`:
- Around line 75-82: Update the description of sorting with `_geoPoint` to
restrict “all geo fields” to only sortable geo fields by name; replace the
phrase with something like “all sortable geo fields (e.g., `_geo` and
`_geo_list`, excluding `_geojson`)” so it no longer contradicts the later note
that `_geojson` is ignored for sorting — change the sentence mentioning
`_geoPoint` accordingly in the geosearch documentation.

---

Nitpick comments:
In `@learn/filtering_and_sorting/geosearch.mdx`:
- Around line 55-69: Clarify the accepted value types and validation rules for
points in `_geo_list`: state that each entry must be an object with `lat` and
`lng` keys that may be numbers or numeric strings (e.g., "48.8566") and will be
parsed as floats, that lat must be between -90 and 90 and lng between -180 and
180, that the array must be non-empty when used to represent multiple locations,
and that `null` or missing coordinates are ignored; update the `_geo_list`
paragraph to include these type and range constraints and mention numeric-string
parsing to match `_geo` behavior.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a52f918 and 0b78593.

📒 Files selected for processing (2)
  • learn/filtering_and_sorting/geosearch.mdx
  • learn/getting_started/documents.mdx

Comment on lines +75 to +82
When filtering, a document matches if *any* point across all its geo fields falls within the specified area. When sorting with `_geoPoint`, Meilisearch uses the *closest* point from all geo fields.

When handling documents with both fields, Meilisearch:
When handling documents with multiple geo fields, Meilisearch:

- Ignores `_geojson` values when sorting
- Ignores `_geo` values when filtering with `_geoPolygon`
- Matches both `_geo` and `_geojson` values when filtering with `_geoRadius` and `_geoBoundingBox`
- Merges points from `_geo`, `_geojson`, and `_geo_list` when filtering with `_geoRadius` and `_geoBoundingBox`
- Merges points from `_geo` and `_geo_list` when sorting with `_geoPoint`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Clarify sorting scope to avoid contradiction with _geojson exclusion.

Line 75 says _geoPoint uses the closest point from “all geo fields,” but Line 79/82 says _geojson is ignored for sorting. Please narrow Line 75 wording to sortable geo fields only.

Suggested wording fix
-When sorting with `_geoPoint`, Meilisearch uses the *closest* point from all geo fields.
+When sorting with `_geoPoint`, Meilisearch uses the *closest* point from `_geo` and `_geo_list`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
When filtering, a document matches if *any* point across all its geo fields falls within the specified area. When sorting with `_geoPoint`, Meilisearch uses the *closest* point from all geo fields.
When handling documents with both fields, Meilisearch:
When handling documents with multiple geo fields, Meilisearch:
- Ignores `_geojson` values when sorting
- Ignores `_geo` values when filtering with `_geoPolygon`
- Matches both `_geo` and `_geojson` values when filtering with `_geoRadius` and `_geoBoundingBox`
- Merges points from `_geo`, `_geojson`, and `_geo_list` when filtering with `_geoRadius` and `_geoBoundingBox`
- Merges points from `_geo` and `_geo_list` when sorting with `_geoPoint`
When filtering, a document matches if *any* point across all its geo fields falls within the specified area. When sorting with `_geoPoint`, Meilisearch uses the *closest* point from `_geo` and `_geo_list`.
When handling documents with multiple geo fields, Meilisearch:
- Ignores `_geojson` values when sorting
- Ignores `_geo` values when filtering with `_geoPolygon`
- Merges points from `_geo`, `_geojson`, and `_geo_list` when filtering with `_geoRadius` and `_geoBoundingBox`
- Merges points from `_geo` and `_geo_list` when sorting with `_geoPoint`
🧰 Tools
🪛 LanguageTool

[style] ~76-~76: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...e closest point from all geo fields. When handling documents with multiple geo fi...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@learn/filtering_and_sorting/geosearch.mdx` around lines 75 - 82, Update the
description of sorting with `_geoPoint` to restrict “all geo fields” to only
sortable geo fields by name; replace the phrase with something like “all
sortable geo fields (e.g., `_geo` and `_geo_list`, excluding `_geojson`)” so it
no longer contradicts the later note that `_geojson` is ignored for sorting —
change the sentence mentioning `_geoPoint` accordingly in the geosearch
documentation.

@curquiza curquiza requested a review from Kerollmops March 2, 2026 13:51
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