0

I'm developing a site that could be compared with a tube site (like YouTube). I'm in the design phase and am trying to figure out what search method to go with.

I'm using SilverStripe framework which has modules for Sphinx, Solr, and Lucene so they are obviously interesting. Another option is to simply query the database (MySQL) and not use any search engine.

What would you do? And why?

Any input is appreciated! Thanks in advance!

Roham Rafii
  • 2,929
  • 7
  • 35
  • 49
Tiax
  • 269
  • 5
  • 14
  • "What would you do and why" leaves no doubt that this can only attract opinions and not a clear answer. – James Mar 11 '18 at 19:39

1 Answers1

1

simply query the database (MySQL) and not use any search engine

I assume you want to use MyISAM's full-text search capabilities? This is possible, SilverStripe's default configuration is currently (at least until version 2.4) set to MyISAM and not InnoDB. However, this is only recommended for simple, small, and not performance hungry tasks - I assume that's not what you want.

More powerful (both in terms of speed and feature wise) are dedicated search services. For a general overview, take a look at ElasticSearch, Sphinx, Lucene, Solr, Xapian. Which fits for which usage? for example.

With the details you've given, any of the five should get your job done, but you might give that some more consideration. However, I would also take into consideration, for which search services SilverStripe modules are already available, how well they fit your requirements, and how much you "like" them. Unless you'd want to write a module for ElasticSearch for example - that would be pretty cool, but I'm not sure it's really worth the effort.

Personally, I'd probably go with https://code.google.com/p/lucene-silverstripe-plugin/ as it's easy to set up and seems to be working well (haven't tried it myself, but I have only heard good things from others about it).

Community
  • 1
  • 1
xeraa
  • 10,456
  • 3
  • 33
  • 66