Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql - пълен текстов индекс - какво е режим на естествен език

Търсенето на пълен текст на естествен език на MySQL има за цел да съпостави заявките за търсене с корпус, за да намери най-подходящите съвпадения. Да предположим, че имаме статия, която съдържа „Обичам пай“ и имаме документи d1, d2, d3 (базата данни във вашия случай). Документ 1 и 2 са съответно за спорт и религия, а документ 3 е за храна. Вашето запитване,

Ще върне d3 и след това d2, d1 (произволен ред на d2, d1 в зависимост от това кое е по-равно на артикула), защото d3 съвпада най-добре с артикула.

Основният алгоритъм, който използва MYSQL, вероятно е алгоритъмът tf-idf, където tf означава честота на термина, а idf за обратна честота на документа. tf е, както се казва, само броя пъти, когато дума w в статия се среща в документ. idf се основава на това в колко документа се среща думата. Така че думите, които се срещат в много документи, не допринасят за определянето на най-представителния документ. Произведението на tf*idf дава резултат, колкото по-висок е, толкова по-добре думата представлява документ. Така че „пай“ ще се появи само в документ d3 и следователно ще има висок tf и висок idf (тъй като е обратното). Докато „the“ ще има висок tf, но нисък idf, което ще доведе до tf и ще даде нисък резултат.

Режимът на естествения език на MYSQL също идва с набор от стоп думи (the, a, some etc) и премахва думи, които са по-малки от 4 букви. Което може да се види в предоставената от вас връзка.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. синтактична грешка:'delimiter' не е валиден вход тук

  2. Laravel изчислява сумата от две колони с условие

  3. HikariCP твърде много връзки

  4. PHP код за пренасочване, ако полето mysql е попълнено

  5. Обединете таблици в две бази данни с помощта на SQLAlchemy