Docs and help centers
Make each section a record, and a search lands on the right heading with the matching words highlighted.
Shoppers misspell names, tick sizes and brands, and sort by price. Findlane handles all of it from one index that stays in sync with your catalog, from your first hundred products to a million.
runing shoesPrefixes from three letters, one typo in short words and two in long ones, and synonyms for your shoppers' words, such as trainers for running shoes. Exact matches still come first.
brand · size · under $150Facets for brands, sizes and colors that stay listed after a shopper ticks one, and a price slider that knows the catalog's range.
Price: low to highSorts you name once, such as price or newest, and popularity to order products that match about equally well.
One record per product, with its variants as lists. The recipe in the docs goes through every field.
{ "objectID": "stridewell-cadence-road-knit", "title": "Cadence Road Knit Running Shoe", "brand": "Stridewell", "category": "Running shoes", "description": "An everyday neutral trainer…", "price": 109, "compareAtPrice": 129, "inStock": true, "colors": ["Glacier blue", "Black"], "sizes": ["8", "9", "10", "11"], "popularity": 874, "image": "https://cdn.example.com/cadence.webp", "url": "/products/cadence-road-knit"}
compareAtPrice for a sale.inStock hides what can't be bought, and popularity puts best sellers first among equal matches.Choose the settings once, from your server or the dashboard. Searches then run straight from the browser with the index's public ID.
await products.replaceSettings({ ...(await products.getSettings()), searchableAttributes: [ { field: "title", weight: 8 }, { field: "brand", weight: 4 }, { field: "category", weight: 3 }, { field: "description", weight: 1 }, ], facetFields: ["brand", "category", "colors", "sizes"], filterFields: ["price", "inStock"], customRanking: [{ field: "popularity", direction: "desc" }], synonyms: [["sneakers", "trainers", "running shoes"]], didYouMean: true,})
const results = await client.search({ q: "trail shoes", filters: { inStock: true, sizes: { in: ["10"] } }, facets: ["brand", "colors", "sizes"], disjunctiveFacets: ["brand", "colors", "sizes"], facetStats: ["price"],})
price_eur and price_usd.Yes. Findlane for Shopify syncs your products and answers your theme's own search box, without code. It's on its way to the Shopify App Store.
Write a product when it changes, from a webhook or your admin's save handler, and replace the whole catalog nightly. Each write is searchable as soon as it returns.
Plans go up to a million products, and dedicated clusters go further. One request replaces up to 100,000, and bigger catalogs upload in batches.
Yes, with an index per store or language, each with its own settings and allowed origins. Plans include from 1 to 50 indexes.
Make each section a record, and a search lands on the right heading with the matching words highlighted.
Search titles, authors and abstracts, narrow by category and year, and sort by citations instead of price.
Give records a location and search nearest first, within a radius, or inside the map's view.
Upload your records, copy a public ID, and put search on your site today.