Field Reference

Field Reference

This section documents the fields used by Makaira, including both customer-provided fields and internally generated fields.

Data Sources

Makaira can receive product data from multiple sources:

SourceDescription
Shop ConnectorsDirect integration with OXID, Shopware, Plentymarkets, Shopify
NDJSON ImportNewline-delimited JSON file imports
Persistence LayerOptional intermediate storage with boost calculations
API PushDirect data push via REST API

Field Categories

Customer-Provided Fields

These are the standard fields recognized by Makaira on product, variant, category, and manufacturer documents. Fields that are strictly required are marked Required; everything else is optional but typically expected for a usable storefront.

For visibility flags (active, hidden, searchable, hideOnLists, onstock) see Visibility Fields. For ranking inputs (soldamount, rating, insert, profit_margin, stock) see Ranking Fields. For the attributeStr / attributeInt / attributeFloat / attributes structure see Attribute Fields. For custom suffixed fields like *_int, *_bool, *_str_short see Dynamic Fields.

Identification

FieldTypeDescription
idstringRequired. Unique document identifier within the type.
typestringRequired. product, variant, category, manufacturer, or a custom string for own document types.
parentstringRequired for variants — ID of the parent product. Must be empty ("") on a product.
shopstringRequired. Shop identifier — used for multi-shop installations.
timestampstringExport timestamp in YYYY-MM-DD HH:MM:SS format.

Display

FieldTypeDescription
titlestringRequired. Document title. Indexed with full text processing (stemming, compound words, etc.).
shortdescstringShort description / teaser. Indexed for full-text search.
longdescstringLong product description. Indexed for full-text search.
urlstringFrontend URL of the document. Used for linking in storefront and admin UI.
picture_url_mainstringURL of the main product image. Used in admin previews and search results.
meta_keywordsstringSEO meta keywords. Indexed for search.
meta_descriptionstringSEO meta description.
raw_titlestringAlternative title without word processing — only exact matches will hit. Mostly used for custom document types.

Search

FieldTypeDescription
searchkeysstringAdditional search terms (synonyms, alternate spellings, related keywords). Indexed alongside the title for full-text search.
eanstringEAN / SKU / article number. Used by the internal article-number search (ProductNumber request type) for exact and alphanumeric matches — keep this filled if customers search by article numbers.

Commerce

FieldTypeDescription
pricefloatStandard product price. Any field name containing price is automatically mapped to double (see Dynamic Fields).
groupsobjectGroup-specific overrides for prices, stock, and visibility — e.g. discount tiers, B2B pricing. See B2B / Customer Groups.

Manufacturer / Brand

FieldTypeDescription
manufactureridstringID of the manufacturer document — links the product to its manufacturer.
manufacturer_titlestringManufacturer / brand name (denormalized for filtering and display).

Category Assignment (on products and variants)

FieldTypeDescription
maincategorystringID of the primary category. Used for category-bound personalization and "main category" logic.
maincategoryurlstringURL of the primary category.
categorynested arrayPer-shop list of category memberships: catid, shopid[], path, title, optional pos (position of the product within that category).

For category documents themselves see the Type category section in the NDJSON guide.

Sorting

FieldTypeDescription
sortintegerSort hint within a level (mainly for category ordering). Set to 1 for no sorting.

Makaira-Generated Fields

These fields are created automatically during import:

FieldDescription
es_idElasticsearch document ID ({id}_{datatype})
datatypeNormalized document type
join_fieldParent-child relationship structure
makairaImportImport timestamp (ISO 8601)
sequenceChange tracking number
suggestAutocomplete suggestions

Optional Processing (Persistence Layer)

When using the Persistence Layer, these additional fields are generated:

FieldDescription
mak_boost_norm_*Normalized boost scores (0-1)
isPseudoPseudo-variant marker
isVariantVariant type indicator
attributesAggregated attributes from variants

Document Type Mapping

Each imported document is stored with a normalized datatype field. You will see this value in API responses and when filtering documents directly.

Your typeInternal datatypeDescription
productmakaira-productgroupParent product (contains variants)
variantmakaira-productProduct variant (child of product)
categorycategoryCategory document
manufacturermanufacturerManufacturer/brand document

Note: The naming is historical: a product document gets datatype: makaira-productgroup because it groups its variants, and a variant document gets datatype: makaira-product because it represents the actual purchasable SKU.

Field Suffixes

When filtering or sorting, use these suffixes:

SuffixPurposeExample
.unanalyzedExact matchingtitle.unanalyzed
.lowercaseCase-insensitive matchingmanufacturer_title.lowercase
.sortingAlphabetical sortingtitle.sorting

Related Documentation