I'm seeing inconsistent behavior when using the Search= parameter in the URL on the standard Miva product search page. This question is specifically about the URL query parameter, not the on-page keyword input field.
Issue Summary
When I pass a normal keyword into the URL, for example:
…I get the expected number of result pages (many pages, depending on matching products).
However, when I pass:
…the results become severely limited (often only 1–2 pages), even though the store has thousands of in-stock products that fit the rest of the filters (price, Hide Sold Out Products, etc.).
Important clarification:
This behavior occurs when using the Search=* parameter directly in the URL.
It is not related to what a customer types into the front-end search field.
What I’ve Observed
• If I remove the Search parameter entirely (no Search= in the URL), the template displays “No products matched your search criteria.”
• Using Search=* returns results, but appears to truncate the dataset, especially when combined with price filters.
• Example behavior:
This is unexpected because inventory data confirms a large number of in-stock products in those price ranges.
My Questions
1. Does the Miva search parser treat Search=* as a special or restricted case?
2. Is the wildcard causing the engine to return a partial or limited result set?
3. Is there a recommended parameter or method to perform a “match all” search using only filters (price, stock), without relying on a keyword?
4. Should I be using a different mechanism (SearchData, category filters, Product_List_Load, etc.) if I need to show all items that match non-keyword filters?
Goal
I need a reliable way to return all in-stock products within a given price range via URL parameters, without requiring a keyword term the customer would never type.
Any insight into how wildcard searches are intended to behave, or recommendations on the best practice for this kind of filtered “match all” query, would be greatly appreciated.
Issue Summary
When I pass a normal keyword into the URL, for example:
Code:
...?Search=civic
However, when I pass:
Code:
...?Search=*
Important clarification:
This behavior occurs when using the Search=* parameter directly in the URL.
It is not related to what a customer types into the front-end search field.
What I’ve Observed
• If I remove the Search parameter entirely (no Search= in the URL), the template displays “No products matched your search criteria.”
• Using Search=* returns results, but appears to truncate the dataset, especially when combined with price filters.
• Example behavior:
Code:
...?Search=civic&price=0-50 → multiple pages ...?Search=*&price=0-50 → only 1–2 pages
My Questions
1. Does the Miva search parser treat Search=* as a special or restricted case?
2. Is the wildcard causing the engine to return a partial or limited result set?
3. Is there a recommended parameter or method to perform a “match all” search using only filters (price, stock), without relying on a keyword?
4. Should I be using a different mechanism (SearchData, category filters, Product_List_Load, etc.) if I need to show all items that match non-keyword filters?
Goal
I need a reliable way to return all in-stock products within a given price range via URL parameters, without requiring a keyword term the customer would never type.
Any insight into how wildcard searches are intended to behave, or recommendations on the best practice for this kind of filtered “match all” query, would be greatly appreciated.
Comment