كيف يمكنني الحصول على الكلمات الأكثر شعبية في جدول عبر MySQL؟

StackOverflow https://stackoverflow.com/questions/1173828

  •  19-09-2019
  •  | 
  •  

سؤال

لدي طاولة مع عمود Blob. ما أريد القيام به هو الحصول عليه أن تكون قادرا على اختيار الكلمات وقائمة لهم بالترتيب.

على سبيل المثال إذا احتوت:

  • بوب سميث يحب الجبن ولكن يحب القراءة
  • تشارلي يحب حليب الشوكولاته
  • تشارل يحب المانجا ولكن يحب أيضا ملفات تعريف الارتباط

ثم سأحصل

  1. الإعجابات
  2. يحب

نتيجة لذلك ... هل هذا ممكن وإذا كان الأمر كذلك؟

أود أن أكون قادرا على القيام بذلك في MySQL وحدها فقط، لكن يمكنني استخدام PHP أيضا.

شكرا مقدما يا كيني

هل كانت مفيدة؟

المحلول 3

لقد أعادت عملت رمزي لذا لم أعد بحاجة إلى القيام بذلك ... يبدو من المستحيل مع الإعدادات الصاعدية

نصائح أخرى

لا أعتقد أن هناك أي وظيفة ميسة في MySQL للقيام بذلك، لذلك ربما تكون أفضل استخدام PHP للقيام بالعمل من أجلك باستخدام إما explode(' ', $myString) أو str_word_count($myString, 1) لإنشاء مجموعة تحتوي على كل كلمة. ثم حلقة من خلال كل كلمة في الصفيف وحسبها.

SPHINX البحث (http://sphinxsearch.com/) هو تطبيق يقوم بالكثير حول البحث في النص الكامل في MySQL وكذلك تنسيقات DB وغيرها من تنسيقات الملفات. باختصار، إنه يوفر بحثا بحمل طاولات MySQL.

تقوم إحدى أدوات تكنولوجيا المعلومات بإجراء عدد الكلمات، وما يلي برنامج نصي باش للحصول عليه لإخراج الكلمات الأكثر شعبية في قاعدة بيانات:

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top