Sasa Posted December 21, 2014 Report Share Posted December 21, 2014 Ir MySql datubāze ar 24155 lietotājiem un katram lietotājam ir kādi plus/mīnus 20 lauki pēc kā var tikt atrasts lietotājs. Kā labāk veikt meklēšanu ar LIKE, vai FULLTEXT, vai vēl kā vispār savādāk ar Apache Sorl vai Lucene? Šobrīd ir ar LIKE un pārskaitīti visi lauki '%...%' + ... tādā garā, pienācis laiks to visu mest ārā un uzlabot. Quote Link to comment Share on other sites More sharing options...
briedis Posted December 21, 2014 Report Share Posted December 21, 2014 Sphinx, Elasticsearch? Hz :) Quote Link to comment Share on other sites More sharing options...
Kasspars Posted December 22, 2014 Report Share Posted December 22, 2014 Uztaisi vienu lauku, kurā savāc visas vērtības pēc kurām varētu meklēt lietotāju, tam laukam uzliec FULLTEXT indeksu un meklēšanu veic pēc šī lauka. Šim nolūkam vari pat uztaisīt atsevišķu tabulu ar laukiem: UserId, search (fulltext), lai nebojātu esošo users tabulu Ar 240k ierakstiem mysql fulltext mierīgi tiks galā Quote Link to comment Share on other sites More sharing options...
Kavacky Posted December 22, 2014 Report Share Posted December 22, 2014 Viņam nav 240, bet 24 k. Tur vispār pajāt. :) Quote Link to comment Share on other sites More sharing options...
Sasa Posted December 22, 2014 Author Report Share Posted December 22, 2014 Labi, mēģināšu ar FULLTEXT Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.