3

I have been looking at search solutions like Sphinx, Solr and Elasticsearch but they are all way too complex for what I need.

I'm basically looking for a server software, best distributed, that allows me to just throw in chunks of text associated with a single small identifier each. Then find keywords quickly and return the identifiers given for the chunks that yielded a match with one or more of the keywords.

Does something like this exist?

3 Answers 3

4

You can try Mysql or MongoDB full-text search capabilities.

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo

3
  • are they any match to the performance of any of the above mentioned search engines?
    – thwd
    May 18, 2012 at 20:09
  • Performance should be comparable. Features are very limited comparing to dedicated FTS software.
    – DukeLion
    May 18, 2012 at 20:10
  • This answer is the one I was looking for. Thank you.
    – thwd
    May 18, 2012 at 21:58
3

Postgres has an outstanding out of the box support for full-text search.

I do use Elasticsearch, I did migrate from sphinx, and yes, the learning curve is higher, but it worths as It has a really flexible way to query with JSON.

1
  • Sure, I've forgot about postgres :)
    – DukeLion
    May 18, 2012 at 20:12
3

Unfortunately, you are just not going to get the same level of performance with the MySQL fulltext search as you will from the dedicated search solutions, but that begs the question--do you care?

sphinxsearch will give you faster indexing, more advanced queries, incremental updates, and it will work out of the box with MySQL--but it is still a separate service that needs to be run and maintained. mysql will be a bit slower and indexing will slow down with larger collections, but its built in and doesn't require any additional services to run in the background. So the question is, do you even care if a query takes 1 second or 10 seconds?

Here are some numbers from the Sphinx blog, as well as some benchmarks from Wikipedia's search backend.

1
  • yes I do care, 2 seconds would be too much. my dataset is in the order of hundreds of thousands - not that big compared to other appliances. I do require simplicity, it should be straightforward and simple to manage. I will not be using MySQL.
    – thwd
    May 18, 2012 at 21:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .