Maison > Questions et réponses > le corps du texte
< /p>
为情所困2017-05-16 13:14:53
Essayez le moteur de recherche elasticsearch, qui prend en charge la segmentation des mots, la recherche en texte intégral et peut également être trié en fonction de la similarité
迷茫2017-05-16 13:14:53
Soit vous disposez de votre propre service de recherche pour le développer vous-même, soit vous utilisez certains des moteurs de recherche open source les plus populaires, tels que solr et elasticsearch
淡淡烟草味2017-05-16 13:14:53
Laissez-moi vous raconter mon idée : convertir les caractères chinois en pinyin et effectuer une recherche en texte intégral.
// PHP利用ICU扩展intl实现汉字转拼音
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '德克士'); //de ke shi
echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '得克'); //de ke
// 假设name字段内容为"德克士",则name_fts字段内容为"de ke shi".
// MySQL全文检索字段name_fts中同时包含"得克"关键字de和ke的商店记录.
// 所以 name_fts 中包含de和ke的店铺都能显示出来.
SELECT name FROM store
WHERE MATCH(name_fts) AGAINST('+de +ke' IN BOOLEAN MODE)
ORDER BY id DESC LIMIT 5;