Jump to content

Is there any way to improve customer SEARCH experience?


Dirty Butter

Recommended Posts

This has been an issue way back to v4 I think. Since CC5 can't handle the apostrophe in the search, I write the brand name in our listings as Carters. If the customer searches for Carter's the search works. But if they search for Carter, it fails. Same thing happens if I write pigtail, but they search for pigtails.

Is there any way to create special search rules to match a small number of brands with special characters, such as Carter's and M&M's?

Is there any way to create the search in such a way that plurals and common variations show up in the search results?

Some searches would be taken care of if the seo keywords were searched as well, as I do put common misspellings and variations there for each listing. So is there any way to include the keywords as part of the search terms?

Link to comment
Share on other sites

  • Replies 58
  • Created
  • Last Reply

"Is there any way to create the search in such a way that plurals and common variations show up in the search results?"

While not intuitive to 99% of the world's population (that is, not a Programmer or Reference Librarian), try these:

(There is a minimum number of letters required: usually 4.)

pigtail* = finds any word that starts with pigtail
"M&M's" "Carter's" = find the word exactly as entered, either word matches (hopefully the quotes stay in use)
+pigtail -ponytail = gets results that have pigtail, then from that list remove any that contain ponytail
+pigtail ~ponytail = gets results that have pigtail, then in that list enhance it's relevance for any that contain ponytail

I have not tried this.

"Is there any way to include the [sEO] keywords as part of the search terms?"

Sure. It would involve dropping the current FULLTEXT index on the CC_inventory table, then recreating it to include the original database columns used plus the seo_meta_keywords column. (Maybe a feature request in the bug tracker?)

Link to comment
Share on other sites

Boolean operators don't seem to work. I changed one item so all the Carters terms in the listing were changed to Carter's, and I could no longer find it when I searched for Carter's as a customer.

I was hoping there would be some way within the CC code to create some special search rules. As you said, most customers wouldn't know how to search with operators, anyway.

I will request the seo search feature.

Link to comment
Share on other sites

  • 11 months later...

I'm revisiting this topic. I did create a request in the bug tracker for improved Search function a long time ago, but nothing ever came of it. We really are being hurt by the Search function!

Go to our Plush Animal Shoppe and look up Hallmark bear, and you'll see just how useless the results are. It finds EVERY toy with Hallmark AND EVERY bear, because it finds Hallmark OR bear, not Hallmark AND bear. I've resigned myself to the apostrophe issue as being inherent, but I know there are ways to search that find AND, not OR.

 

Also, the keyword search would still be useful, as I could always put plural variations there if needed, and do currently put common misspelling variations there.

 

The other Search function that drives me crazy is that the Admin Search does not work the same way the Customer Search works. Words have to be in the exact order they are in the title or they can't be found.

 

I know you always have lots of projects going, but if you ever get time to work on this, Bsmither, I sure would appreciate it!!

Link to comment
Share on other sites

Please perform this experiment for me (CC522):

 

In /classes/catalogue.class.php, near line 985, find:

public function searchCatalogue($search_data = null, $page = 1, $per_page = 10, $search_mode = 'fulltext')

Change 'fulltext' to 'like'.

 

Switch on CubeCart's debug mode (limit the display to just your personal computer's public IP address, visit www.whatismyip.com to discover this) and hopefully the actual query will show up in the list of executed queries.

Link to comment
Share on other sites

Then, find near line 1202:

$rlike = " AND (I.name RLIKE '".$regexp."' OR I.description RLIKE '".$regexp."' OR I.product_code RLIKE '".$regexp."')";

Change to:

$rlike = " AND (I.seo_meta_keywords RLIKE '".$regexp."' OR I.name RLIKE '".$regexp."' OR I.description RLIKE '".$regexp."' OR I.product_code RLIKE '".$regexp."')";
Link to comment
Share on other sites

Please perform this experiment for me (CC522):

 

In /classes/catalogue.class.php, near line 991, find:

public function searchCatalogue($search_data = null, $page = 1, $per_page = 10, $search_mode = 'fulltext')

Change 'fulltext' to 'like'.

 

Switch on CubeCart's debug mode (limit the display to just your personal computer's public IP address, visit www.whatismyip.com to discover this) and hopefully the actual query will show up in the list of executed queries.

 

This worked perfectly!!!

Link to comment
Share on other sites

And the SEO search worked, too! Now when they search for kitty, and I used cat in the description - it still shows up as long as I have added kitty and kitten to the SEO, which I always do. Same thing for puppy and dog.

 

AND I can put Carter's in the SEO keywords and the SEARCH WORKS with the apostrophe. I put it there, rather than having to rewrite all my titles and urls. I can add it to all Carters at once with phpMyAdmin!!

 

This was a HUGE help!

Link to comment
Share on other sites

  • 2 weeks later...

One would need to add code to try the 'fulltext' method if, in the 'like' method, nothing comes up.

 

I'm not sure I understand what you mean, Bsmither.

 

It's finding everything I throw at it now, as long as I have it in the meta keywords - even TY without having to use Advanced search for the manufacturer. That's the easiest place to add misspellings and alternate word choices, as it keeps the front end description from being ugly.

 

Are you saying there's something else that still needs to be added to the search code?

Link to comment
Share on other sites

It's working as is for you because you know what to search for. I haven't worked it out completely how MySQL does its thing with RELEVANCE (the 'fulltext' method), but what we have done is to bypass half of the search power of the MySQL database engine.

 

Try searching on terms that might not be found: soprano, backpack, altitude, burrito. My point is that while these terms may return no results based on spelling, it would be a shame if there might have been results based on some relevance to a product.

 

And I made mention of the need to complete the code because a reference to this conversation was made in the bug tracker.

Link to comment
Share on other sites

I guess I don't understand how relevance works then, as all it did for me was make huge numbers of irrelevant items show in the results, to the point that it was all but useless.

 

We have over 3000 items in the store at this time, with untold numbers of rabbits, bears, and dolls - so there has to be a way to narrow, not expand, the search - which is exactly what you have accomplished for me.

 

From my point of view it's MY job as the seller to anticipate as many likely search terms as possible that a customer might use for a given item and see to it they are in the keywords - thus making the keywords the most relevant for each product.

 

Sorry if I jumped the gun in the Bug Tracker - I was just so pleased with the results.

Link to comment
Share on other sites

Did some basic reviewing of FULLTEXT searching, and while very useful, it does have its drawbacks. Plus there is a BINARY mode (as outlined in post#2).

 

A few key concepts:

1. You must have massive amounts of records. Its usefulness grows as the number of records grows.

2. Query for something that could return everything, then you get nothing. Something in more than 50% of the records is not relevant and the term is discarded.

3. By default, the database engine uses OR on the search terms.

 

Until I see otherwise, however, the results, if any, will contain a search term somewhere.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Hi, I found search was not that good and I got the custom google search to work.

 

you can see on here. www.tainbraeworld.co.uk on the search box on each page.

 

I just replaced the code in my skin in element.content_header.php with the google code I was given for the search box and also for the results page replaced the code on the content.search.php page.

 

Its free if you are prepared with some ads (which you can monetize) or you have to pay about 100UDS per year for quite a large search allowance.

 

http://www.google.com/enterprise/search/products/gss.html

Link to comment
Share on other sites

Assuming you've fixed your issues, I still see problems with the Google Search, although I certainly appreciate your input. For one, the site is taking forever to load, and it's Olark and Google that are slowing it down. I finally took Olark off our sites, just for that reason.

 

I was able to search for cardiff bracelet, BUT I saw the same issue that was my complaint about CC's Search - it found not only the Cardiff bracelets, but ALL your bracelets. The biggest advantage I saw was the option to use Images - that's certainly a good thing.

Link to comment
Share on other sites

don`t get me started on the search function....

We still have a CC2 cart that uses a "partial word search" which works a treat. What a pity it was discarded in later versions.

 

I would argue that partial word search or even a suggestive search should at least be available as an advanced search function - or better still the default.

Partial word search is self regulating, meaning  the more information you enter, the more accurate the result.

Predictive search is what google uses so well. Many of us would use it  every day without even thinking how helpful it actually is.

 

When we migrated to CC5 i was very disappointed to discover the search function was so strict. Hyphens and slashes and spaces  cause it no end of problems.

Suddenly, we had to type in entire lengthy part numbers to get any result at all rather than type just a first few letters or digits - Tedious and frustrating.

Better to get 10 results with partial word search and pick out the one you want than to get  zero results.

 

I looked at the suggestive search mod for CC5 but couldn`t work out how to incorporate it .

I think it would be a giant leap  if suggestive search and / or partial word search were added to CubeCart 5 as standard or at least as an advanced search function.

Link to comment
Share on other sites

  • 2 months later...

Revisiting this issue, as I still find problems with our search.

 

 

The other Search function that drives me crazy is that the Admin Search does not work the same way the Customer Search works. Words have to be in the exact order they are in the title or they can't be found.

 

I've come to realize that this problem with specific word order is an issue on the Customer's experience with Search as well. Is there any way to make CC search for terms, regardless of what order they are written in the title, description, or (because I'm using your tweak to the code) meta keywords?

 

As an example - try searching for cat carter's and then try carter's cat.

Link to comment
Share on other sites

  • 5 weeks later...
  • 7 months later...

Bit of thread necromancy going on here,

 

I really like the Bsmither tweak to search it's almost flawless, I've ran into the same problem as Dirty Butter experienced, with what comes first, it's counter intuitive to how most people with search for my items.

 

 

I've actually stumbled across a possible fix for my particular issue, which was brought about by another entirely separate problem and it's solution.

 

However, I think it might be key to solving other people issues although its a bit of a wonky workaround.

 

Google says you can only have 5000 characters in your description now, which is a pain in the ass for me as I list items with hundreds of model numbers, so I need a lot of characters (not all the time but enough) and in the past I've had to clip my 'to fit' lists as it breeched the old 10k character limit all be it infrequently, 5k has over 100 lines I'm over on. So I added a separate model number field to house them all.

 

So If I was searching for; 

 

'WMX hinge'

 

which is how a customer would probably search for it,

 

Door Hinge for WMX's

 

would appear, where it wouldn't before, because I made this other field to house all my model numbers and I added the term

 

I.models RLIKE '".$regexp."' 

 

to the search, and since it won't find the term hinge in there it all, but it will find WMX, it works.

 

 

I recently broke all this when I updated and I didn't keep any notes, will report back again when I get it all working again.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.




×
×
  • Create New...