Summary
Define the canonical ContentDocument record (the shape of one indexed page) and register the Meilisearch IndexSettings bean for the content index. Searchable attributes weighted title > excerpt > body; filterable source/locale/author/categories/publishedDate; publishedDate sortable. No crawling yet — this defines the data contract and index schema.
Spec
- Spec folder:
docs/specs/003-content-document-index/
- Design:
docs/specs/003-content-document-index/design.md
- Behaviors:
docs/specs/003-content-document-index/behaviors.md
Acceptance criteria (from behaviors.md)
Notes
Summary
Define the canonical
ContentDocumentrecord (the shape of one indexed page) and register the MeilisearchIndexSettingsbean for the content index. Searchable attributes weightedtitle > excerpt > body; filterablesource/locale/author/categories/publishedDate;publishedDatesortable. No crawling yet — this defines the data contract and index schema.Spec
docs/specs/003-content-document-index/docs/specs/003-content-document-index/design.mddocs/specs/003-content-document-index/behaviors.mdAcceptance criteria (from behaviors.md)
ContentDocument.id(source, url)is deterministic; different URLs yield different ids[A-Za-z0-9_-]even for URLs with/ : .toMap()contains all indexed fields; null optional fields map cleanlyIndexSettingsbean registered with correct searchable/filterable/sortable attributes andprimaryKey=idMeilisearchIndexSettingsInitializerindex-prefixNotes