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é
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
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;
Php n'a-t-il pas sphinx et xunsearch ?
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é
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
Laissez-moi vous raconter mon idée : convertir les caractères chinois en pinyin et effectuer une recherche en texte intégral.