fear_matrix
fear_matrix

Reputation: 4970

magento search issue

I have one issue which I am in desperate need for your help. I am on Magento ver. 1.6.1.0, whenever I am searching with a sentence like "baby's cute shoes" in magento then the results are not accurate but when I search only a word like "cute" or "shoes" then it gives me the result.

I have a feeling that magento is not able to search a sentence but it is able to search products with words. Is there anything I can do to better optimize the search in magento?

Upvotes: 8

Views: 12228

Answers (5)

obaranovsky
obaranovsky

Reputation: 165

Magento does not search the entered string as a full sentence. Instead it splits (tokenizes) your search string into words and will search for products containing ANY of these words (implementing "OR" logic). So if you are searching for "red shoes", it will find everything containing words "red" OR containing words "shoes". Obviously it is not very useful in most cases as it will produce a lot of totally irrelevant results.

You can check this free extension to refine your search: Catalog Search Refinement FREE. This extension modifies the search behavior to only find the products that have ALL keywords ("AND" logic in other words). This will find only products that have both "red" and "shoes" keywords. There is also Advanced Search version of that extension that also looks up for similar words based on phonetic distance among other things as well as weighted search attributes, allowing to bubble up the most relevant products.

Upvotes: 4

sergeif
sergeif

Reputation: 57

Also make sure to change the order in which the results are shown. Default Magento is to serve it backwards.

Add the following to /app/design/frontend/default/default/layout/catalogsearch.xml

<reference name="search_result_list">
    <action method="setDefaultDirection"><string>asc</string></action>
    <action method="setDefaultOrder"><string>relevance</string></action>
</reference>  

Between the following:

<catalogsearch_result_index translate="label">
   ...
</catalogsearch_result_index>

Upvotes: 1

fear_matrix
fear_matrix

Reputation: 4970

I got my issue resolved by this link - https://stackoverflow.com/questions/1953715/magento-search-not-returning-expected-results

I went to this line in app/code/core/Mage/CatalogSearch/Model/Resource/Fulltext.php

and did this (below)

copy app/code/core/Mage/CatalogSearch/Model/Mysql4/Fulltext.php to app/code/local/Mage/CatalogSearch/Model/Mysql4/Fulltext.php

line 341 - 343 app/code/local/Mage/CatalogSearch/Model/Mysql4/Fulltext.php

if ($like) { $likeCond = '(' . join(' OR ', $like) . ')'; } change into

if ($like) { $likeCond = '(' . join(' AND ', $like) . ')'; }

Upvotes: 2

Fiasco Labs
Fiasco Labs

Reputation: 6457

Stock Magento search needs a few tweaks to get it functional. The Like search was changed from AND logic to OR logic in 1.5/1.6 and gives better results when reverted back to AND logic. This has been solved in several threads over in the Magento forums on Magento's website. Another fix is to to chop the s off of plurals which is also addressed over there.

The reason for cutting trailin "s" is that most people don't search for "an oil pressure gauge", but "oil pressure gauges" which gives total misses when you're selling a "0-100 psi Oil Pressure Gauge". Also alias all items ending in "ies" to their singular. Rarely do you sell an "rc aircraft batteries", it will be specific like "1200aH aircraft battery" and so your less savvy customer's searches never match.

"Baby's cute shoes" will never register a hit unless it shows up in the items you use to populate the Fulltext search index. Who sells an item called "baby's cute shoes" anyway? I usually synonym these types of searches to hit a specific category where the items are listed. Some customer searches are just too subjective to match the objective nature of product search (actual items vs. nebulous idea).

Upvotes: 0

Peter O&#39;Callaghan
Peter O&#39;Callaghan

Reputation: 6186

The options for search can be found in the backend under System > Catalog > Catalog search, you probably have search type set to LIKE. You will potentially get better results using FULLTEXT mode.

Upvotes: 4

Related Questions