Friday, May 30, 2008

Technical Google searches many times lead to irrelevant results

I've used Google from the beginning and it is great... but I was hoping that by now some search problems would be solved. The major feature I find lacking in any search engine is the ability to search for exact matches of any combination of characters. You know, the types of things that show up in programming source code, but usually get ignored by search engines.

Note: The rest of the below is pretty technical, someone who has knowledge of programming using perl or mysql would understand what I'm talking about in the details, but others will understand the gist of what I'm saying if they just skip past the parts that talk about the programming languages that I mention.

I know that MySQL by default doesn't allow full text indexing of the various characters + = , -, etc. and maybe that is why Google isn't able to search for something like '++' and find results for that exact match, but it sure would be handy if I could search for things related to coding in various languages and actually find results related to what I'm looking for.

For example, if I'm looking for help related to a hugely useful and hugely used functionality in Perl, I might look for help with the =~ operator, or ~=, whichever it is, I can never remember, which is why I've tried searching for it from time to time. The problem is, even if I search for that exact phrase with quotes around it- "=~", I don't get any results that have that exact match, unless I'm lucky and just happen to type perl "=~" and then the search for perl happens to show something down in the results with =~ in it. My point is there are tons of things like that which should be search-able, but aren't. There are pages on the web dedicated to explaining how to use =~ in perl, and if I were to search for 'perl "=~"', you would expect that I'd get 200-300 or more results and they'd be totally relevant. Instead, I'm left with nothing really relevant.

Here's another example related to searching for something related to MySQL. This is a lesser used functionality that MySQL has, but it is very valuable from time to time.

:= is a way of assigning a value from within a MySQL statement to a variable so that it can be used again in the WHERE part of the query. It isn't something that is used all the time, so when I forget what the syntax is, I try searching for it on Google. What happens? There are no relevant results. I also try searching for it on MySQL's site, and they have the same problem.

These types of things are pretty annoying. I wonder if any-one has worked on solving this problem. I've searched for another search engine that can handle it, and haven't found anyone yet.

Google was started by and was originally most useful to techies because of the enabling power it gave to those who used it. I think it is time that someone work on the problem of indexing and returning relevant results for technical programming-type phrase searches.

I'm sure it is more than just flipping a few switches, but I'll be waiting right here...