Repository navigation
Meilisearch primary key and index settings; table in stream payload - #18
Merged
Merged
Conversation
… stream payload Meilisearch cannot infer a primary key when rows have more than one column ending in id (id, tenant_id, ...) and rejects the documents. Meilisearch table entries now take primary_key (default id), searchable_attributes and filterable_attributes. The sink creates each index with its key at startup, refuses an existing index keyed by a different field, and updates attributes only when they differ so a restart does not reindex. Deletes look documents up by the configured key. Tables sharing an index must agree on its settings. Redis stream payloads now carry schema and table, so consumers of a stream fed by several tables can tell entries apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
primary_key(defaultid),searchable_attributesandfilterable_attributes. The sink applies them at startup: creates the index with its key if missing, fails fast on an index keyed by a different field, and updates attributes only when they differ (no reindex on restart). Deletes use the configured key.schemaandtable.Needed so Trenova can drop its bundled copy of GTC and run this image: Trenova rows carry
id,organization_idandbusiness_unit_id, so Meilisearch cannot infer the key, and Trenova's table-change-alert consumer reads one stream fed by several tables.Testing
go vet ./..., unit tests for the config parsing and conflict checks.🤖 Generated with Claude Code