Golion
Links: https://zhuanlan.zhihu.com/p/21334385
? Import MySQL data generation index elastic search:restful interface, or Github-scharron/elasticsearch-river-mysqlsphinx: native support for MySQL-based table indexing elastic Search official documents, the data are inserted using a restful interface, which is an incremental update. There is a bulk interface, which can be imported in bulk and speed up greatly. When the amount of data is very large, traversing a full table rebuilding an index can be time consuming. Elasticsearch-rivel-mysql This project is not very reliable, developers have even been on git to mark deprecated. I recommend the use of the bulk method, after all, Logstash is to use this. When importing MySQL data generation index, Sphinx is better than elastic Search in terms of ease of use, reliability, and speed. Sphinx really fast.? Incremental update support elastic search is better than Sphinx. Elastic Search uses incremental updating as the preferred curd, and Sphinx using a secondary table is not only elegant, but also complicates your other systems, making it easy to make mistakes when you change a single piece of data frequently. Visualization and accessibility tools Elastic Search:kibana,beats,logstash,marvel,headsphinx:sphinx Toolskibana is a data visualization interface provided by elastic Search, The basic ability is: 1) read an index 2) to a index write query out the specific data 3) generated by the data graph 4) pull a few charts to generate a report. Kibana is very powerful, and based on these basic functions, we are already free to customize and complete a variety of complex requirements. Kibana can also add a variety of plug-ins, the most commonly used is Marvel (performance, status monitoring), very useful. Beats is a collection of log frames, officially called data Shipper. I'll take it alone later. Logstash is a set of log processing frameworks. Honestly, I've been confused for a long time. Logstash and beats respectively positioning ... Simply put, Beats is designed to collect data, and Logstash is designed to handle data. Sphinx Tools, also stay in the performance monitoring stage, but also in the beta, was elastic search of the family barrels too far away. The search algorithm supports Elasthcsearch's search underlying functionality based on Lucene,sphinx. However elastic SeaRCH's query DSL supports more complex querying logic, which is beyond Sphinx. For custom ranker, Elastic Search's function score query is much more powerful than Sphinx Expression-ranker. In order to let Sphinx support a custom ranker, had to change the source, and later found that this feature in elastic search can be easily implemented. Overall, Elastic search is slightly better than Sphinx. Scale-out and highly available elastic search is inherently designed for clustering. If the index is not replica, the yellow light will be displayed, and the light will be green. Each node is divided into client node, Data node, Master node three roles, under reasonable configuration, any one (or even many) of the machine blew up, the whole cluster can run normally. Elastic Search also supports dynamic addition of machines and so on, temporarily do not repeat. Sphinx also has the concept of master searchd and slave searchd, which can be distributed, but it is quite complex to achieve high availability. Elastic search is better than Sphinx. The disadvantage of Sphinx is not to do, but to not use. Resource occupancy sphinx is better than elastic Search. It has to be said that Java is inferior to C + + in this respect. Whether it's CPU or memory footprint, Sphinx is better than elastic search. So in some of the simple requirements of high concurrency, I will still choose Sphinx. Search speed search speed mainly see how to configure cluster, the more the more search up faster. NLP supports here only to speak Chinese NLP. Elastic Search:ik, stuttering Sphinx: There was a project called Coreseek, unfortunately did not continue to maintain. In fact, both sides can develop third-party plug-ins, access to domestic LTP or ictclas are not difficult. Summary Sphinx and elastic search are very good programs, have experienced the test of actual combat. Then why did I go from Sphinx to elastic Search, the main reason is:? I have custom ranker needs, Elastic search functional score query just met me? Business is getting bigger, Elastic search has stronger scale-out and high availability? You can use Kibana to complete a good-looking report Ah!
Compare Elasticsearch with Sphinx