How search works
Why a product matches, and why it doesn't.
Marutto Search is neither a prefix match nor a substring match. It splits Japanese text into words, absorbs differences in how those words are written, and matches on the result.
1. Normalisation — removing differences in writing
Before matching, the same transformations are applied to both the query and the product text.
| Transformation | Example |
|---|---|
| NFKC normalisation | WD650 → wd650 |
| Case folding | WD650 → wd650 |
| Whitespace | Runs of spaces collapse to one |
| Legacy kanji forms | 髙 → 高, 﨑 → 崎, 澤 → 沢 |
Sixteen legacy kanji forms are folded (髙﨑澤齋齊國櫻眞壽廣榮濵濱邊邉德). These appear in Japanese personal and shop names, so a catalogue that is inconsistent about them still matches either spelling.
2. Morphological analysis — splitting Japanese into words
Japanese does not put spaces between words. Marutto Search runs the text through a morphological analyser (lindera with IPADIC, the dictionary ships inside the app) before indexing it.
「春夏用リネンワンピース」 → 春夏 / 用 / リネン / ワンピースThat is why searching for ワンピース (dress) finds 春夏用リネンワンピース. A prefix search would not.
3. Reading conversion — absorbing how it was typed
The same word reaches the same products however it is entered.
| Input | Matches |
|---|---|
りんご | リンゴジュース |
リンゴ | りんごジャム |
ringo | りんごジュース |
わんぴーす | ワンピース |
WD650 | WD650DR |
Long vowels (コーヒー / コ-ヒ-) and small kana (キャンドル / キヤンドル) are absorbed the same way.
No configuration is required. This works with no synonyms registered at all.
Not the same as synonyms. Steps 1–3 are not synonyms: they are character and reading conversions, so they work out of the box. A change of wording — Tシャツ versus カットソー, both meaning "t-shirt" — cannot be reached by conversion and is registered as a synonym instead (see Admin controls).
4. Part numbers, model numbers, SKUs
Part numbers are matched as written: never stemmed, inflected or expanded with synonyms the way prose is.
- An exact match is pinned to the top, also when the whole part number is typed without its hyphens (
AP12345KG) - A partial entry still surfaces it (
wd650findsWD650DR). When the partial entry contains a digit or a hyphen, products whose part number starts with it rank right after an exact match (from six digits for a number alone) - The hyphens can be left out (
AP1234findsAP-1234-5KG) - Typing just a segment between hyphens or slashes finds it too (
1234findsAP-1234-5KG), for segments of three or more characters that contain a digit - When the part number typed contains a digit, a product matching only parts that cannot tell part numbers apart — the leading letters, a short number, a size — is left out, even when they match in separate places (
MA-10does not bring up(MA-14) OPP 10x18). One whose title writes a part number starting with what was typed still appears (MA-1finds(MA-19),MA 19andMA-2/MA-19), as does one boosted or pinned for that query - A part number containing a digit is not typo-corrected: one character off is a different part number
- Fullwidth input (
WD650) reaches a halfwidth part number - SKUs and barcodes are searched too
Hyphenated part numbers work partially too (TOKYO-MUG finds TOKYO-MUG-RED). This behaviour is pinned by a search-quality release gate, so it will not quietly change in an update.
Searching without the hyphens and by a segment works for products synced after the feature arrived. Products synced before it pick them up when they are next updated, or after a full sync.
5. Typo correction
A misspelled query is pulled towards the nearest term.
Correction is a last resort: when something matches correctly, that wins.
6. Ordering
Under sort=relevance (the default), rank comes from:
- Where the match occurred — a match in the title counts for more than one in the description
- The quality of the match — exact > word > via a reading conversion > typo correction
- Sales and clicks — these separate products that match about equally well
- The merchant's settings — boosts and pins (see Admin controls)
The score is not returned. It changes with every improvement to search quality, so publishing it would mean your integration breaks on releases meant to be safe. To control ordering, use the boosts and pins in the admin.
price_asc, price_desc and newest order by that field instead of by relevance.
7. What is searched
| Content | Fields | Plan |
|---|---|---|
| Products | Title, description, vendor, product type, tags | All |
| Product variants | Variant title, SKU, barcode | All |
| Blog articles, pages | Title and body | Basic and up |
| Product metafields | Those marked "use for search" in the admin | Pro |
| Review text | The body of reviews | Pro |
Draft and unpublished products are not indexed. Search returns only what a shopper can actually buy.
Next: Indexing and sync — when a new product starts appearing