Full text search on MySql or Sphinx?


Warning: count(): Parameter must be an array or an object that implements Countable in /home/styllloz/public_html/qa-theme/donut-theme/qa-donut-layer.php on line 274
0 like 0 dislike
30 views
I have a lot of Mysql data(~100GB) and MongoDb(~50GB). You need to quickly search them using full-text search.
At the moment I'm using a Sphinx. But the latest version of Mysql supports full text search. So I think to overtake all the data in Mysql and abandon Mongodb and Sphinx.
Who thinks about this? Essentially if I lose in the speed of searching? Is it a good idea?
by | 30 views

3 Answers

0 like 0 dislike
Full text search is arranged quite primitive.
At all. The difference is only in nuances.

1. Divides the text into individual words, and discarded short words.
2. Run the words through stemming (clipped end) snowball.tartarus.org/algorithms/russian/stemmer.html
3. According to the construction index something like this roaringbitmap.org

All - MySQL, PostgreSQL, SphinxSeach, ManticoreSearch, ElasticSearch work on the algorithm, when we are talking about full-text search.

Search quality rests mainly in 1 and 2. Plus manual sharpening (optional dictionary, etc.)
The search speed depends on p. 3.

There are small differences. For example, ElasticSearch is able to work with an index that is stored on a cluster of several servers. Thus, it is not limited in the size of the index is as tough as SphixSearch (where it is crucial that the data resides on a single server).

On the other hand, Sphinx and fork ManticoreSearch - extremely sharpened speed. In particular, they accepted paradigm - ignore errors while building the index so much as it is possible. All for the sake of speed.

MySQL and PostgreSQL do not have any advantage nor speed (as a Sphinx/Manticore) or volume index (like ElasticSearch). Their advantages are ease of use if you have data originally stored in a relational DBMS.

No, the exhaust speed in the transition to MySQL with Sphinx you get. Sphinx faster. From imprisoned on speed.

Another thing is that, you may not need such a high sharpness on the speed of Sphinx. Perhaps the convenience of storage in a relational MySQL DBMS outweigh.

And Yes, it is not clear why do you need MongoDB. Sphinx has long been can store and the data itself, not only the search index. An additional call to the MongoDB after the document has been found in the Sphinx - reduces performance. Maybe MongoDB is convenient for some types of work, for example, to initiate construction of the full-text index. But actually in the process of full-text search - it is an extra link.
by
0 like 0 dislike
Significantly
It is not clear why you mongodb
by
0 like 0 dislike
Better than a separate server in the form of a Sphinx or Elasticsearch not come up with anything else.

But the latest version of Mysql supports full text search.

The last 10 years? He was there for the mold to be covered in time.
"Recently" added support for InnoDB in 5.6, and it was recently in 2012.
by

Related questions

0 like 0 dislike
2 answers
0 like 0 dislike
1 answer
asked Mar 21, 2019 by webscout
0 like 0 dislike
2 answers
asked Mar 21, 2019 by ha2bj
0 like 0 dislike
2 answers
0 like 0 dislike
4 answers
110,608 questions
257,186 answers
0 comments
28,014 users