Comment puis-je obtenir les mots les plus populaires dans une table via MySQL?
-
19-09-2019 - |
Question
J'ai une table avec une colonne de type BLOB. Ce que je veux faire est d'obtenir pour être en mesure de choisir les mots et les énumérer dans l'ordre.
Par exemple, si elle contenait:
- Bob Smith aime le fromage, mais aime la lecture
- Charlie aime le lait au chocolat
- Charl aime manga mais aime aussi les cookies
Alors je recevrais
- aime
- aime
résultat ... est-ce possible et si oui, comment?
Je voudrais être en mesure de le faire en un seul MySQL, mais je peux utiliser php ainsi.
Merci d'avance, kenny
La solution 3
Je l'ai retravaillé mon code, donc je ne dois plus faire ... il semble impossible avec les configurations standart
Autres conseils
Ne pensez pas qu'il y ait construit en fonction MySQL pour ce faire de sorte que vous êtes probablement mieux utiliser PHP pour faire le travail pour vous en utilisant soit explode(' ', $myString)
ou str_word_count($myString, 1)
pour créer un tableau contenant chaque mot. Puis boucle à travers chaque mot dans le tableau et les compte.
Sphinx Recherche ( http://sphinxsearch.com/ ) est une application qui fait beaucoup autour de la recherche complète texte dans une base MySQL ainsi que d'autres DBs et formats de fichiers. En bref, il offre la recherche avec relavence de tables MySQL.
l'un de ses outils effectue le nombre de mots, ce qui suit est un script bash pour l'obtenir à la sortie des mots les plus populaires dans une base de données:
GET_TOP_X_STOP_WORDS=27
WORD_FREQ_FILE=~/wordfreq.txt
/usr/local/bin/indexer test1 --buildstops $WORD_FREQ_FILE $GET_TOP_X_STOP_WORDS --buildfreqs