What gets imported
Every Algolia setting, synonym type and rule gets one of three results: mapped, approximated or not mapped.
You’ll need: an import that has finished, or an Algolia index you’re planning to import.
The console’s summary lists the synonyms and rules that didn’t come over. The full report, one row per setting, synonym type and rule with its reason, is at GET /v1/indexes/{index}/import/report and needs an admin key. Ask Captain support for it if you don’t have one.
Products
Captain keeps every attribute of every product exactly as Algolia holds it, nested objects included. A product with "attributes": {"color": "red"} keeps color inside attributes. That’s how a record in Captain matches its record in Algolia.
objectIDbecomes the product’s ID.- Products come back in the same shape from the records API (
GET /v1/indexes/{index}/records/{id}andPOST /v1/indexes/{index}/records/get), in search and browse results, and on the Algolia-compatible routes. - Captain adds
id, equal toobjectID. The records API also addsfields, Captain’s typed view of the product. - Captain drops only the keys Algolia adds to its own answers:
_highlightResult,_snippetResult,_rankingInfoand_distinctSeqID. - Settings name a nested attribute the way Algolia does, as in
attributes.color, to filter, facet or sort on it. - Captain reads
hierarchicalCategoriesfor its own category search without adding anything to the product.
A product’s own attribute named id comes back holding the objectID, because Captain uses id for the product’s ID.
The console’s import and an import through the API that reads from Algolia (POST /v1/indexes/{index}/import/algolia with app_id, api_key and index_name) both work this way by default. An uploaded export, or settings sent for products added earlier, keeps the older mapping unless it sends "object_search": true. See Import from Algolia in Records.
Search settings
A setting with a value that isn’t in this table is reported as not mapped. A setting with no value is reported as not used.
Custom ranking
customRanking sets the catalog’s custom ranking, up to 4 number or date attributes in Algolia’s order. It’s the custom_ranking setting in Index Settings.
- A search with no text, and browse, list every match in custom ranking order. The first attribute decides, the next breaks its ties, and a product missing a value comes after the products that have one. This order is exact. The only exception is a value far outside the range Captain saw when it built the catalog, which ties with others at the end.
- A search with text orders results that Captain finds equally relevant by the custom ranking. Captain walks the results in relevance order and groups them: a result stays in the current group while its score is within 2% of the query’s score spread from the group’s first result. Inside a group, the custom ranking decides the order. Captain’s relevance is one combined score, not Algolia’s tie-breaking criteria, so results Algolia calls tied can score differently here and keep their relevance order.
- A search with
sortuses that sort instead of the custom ranking. - After an in-place update to a ranked value, the order of a search with no text catches up at the next build.
Synonyms
Merchandising rules
- Captain skips a disabled rule, and a rule whose validity windows have all ended.
- A rule with a current or future validity window is imported without the window, so it applies all the time. Check scheduled rules, such as a holiday promotion, after the import.