- SQL LIKE does not scale(Flickr also concluded)
- I am also affraid
LIKE will fail on load.
- I think you should try to use this. I think this page might help you achieve your goal => http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html
'apple*'
Find rows that contain words such as
“apple”, “apples”, “applesauce”, or
“applet”.
- Even better would be 3rd-party.
I don't understand the reason for your rejection. I would probably use something third-party because no big site uses MySQL FULL TEXT for there search:
http://www.quora.com/Why-dont-any-of-the-popular-NoSQL-solutions-include-full-text-search
As someone who deploys and administers
both full-text search and NoSQL
servers for a good sized web site,
here's my 2 cents:
Full-Text search is not an easy
problem. It's fairly well understood,
but it takes a fair amount of
engineering effort and specialized
knowledge to do really, really well
and get all the details right. And
nobody wants a half-assed search
system built into their product--or
one with weird limitations.
MySQL had full-text search that wasn't
bad, but it was really only
implemented in the MyISAM storage
engine. But all the cool kids use
InnoDB these days, so it's mostly
useless or requires duplication of
data. Yuck.
Personally, I'm a fan of Sphinx, which
can be built into MySQL or used
stand-alone, which is how we use it
for Craigslist. We're also readying a
MongoDB deployment that will be paired
with Sphinx for full-text search. So
you might think that I can't wait
until 10gen implements full-text
search into MongoDB, right?
Not really.
I subscribe to the Unix philosophy of
having smaller tools that do fewer
things but do them really well. What
I've suggested to Dwight (and maybe
Eliot too?) is that MongoDB should
have a standard interface for plugging
in various full-text search solutions.
That is, it needs a way to notify
external tools of new/changed/deleted
documents so they can be handled
appropriately. (Given MongoDB's
oplog, this seems doable at some
level.)
Now I know full well that Riak has an
answer already. And I know that 10gen
will build it into MongoDB anyway. As
a provider of technology, they feel
strongly that folks want a "complete"
solution that works out of the box for
a lot of people. But it (full-text) is
never going to be the sort of thing
that ships in version 1.0 of these
products either. It's simply not a
"core" feature.
It's also worth noting that from a
performance and tuning point of view,
search is different that document (or
record) retrieval, which can
complicate deployment matters too.