sql >> Databáze >  >> RDS >> Mysql

mysql - fulltextový index - co je režim přirozeného jazyka

Fulltextové vyhledávání v přirozeném jazyce MySQL má za cíl porovnat vyhledávací dotazy s korpusem a najít ty nejrelevantnější shody. Předpokládejme tedy, že máme článek, který obsahuje „Miluji koláč“ a máme dokumenty d1, d2, d3 (ve vašem případě databáze). Dokument 1 a 2 jsou o sportu a náboženství a dokument 3 je o jídle. Váš dotaz,

Vrátí d3 a poté d2, d1 (náhodné pořadí d2,d1 v závislosti na tom, které je více rovno článku), protože d3 nejlépe odpovídá článku.

Základním algoritmem, který MYSQL používá, je pravděpodobně algoritmus tf-idf, kde tf znamená frekvenci termínu a idf inverzní frekvenci dokumentu. tf je přesně to, kolikrát se slovo w v článku vyskytuje v dokumentu A. idf je založeno na tom, v kolika dokumentech se slovo vyskytuje. Slova, která se vyskytují v mnoha dokumentech, tedy nepřispívají k rozhodování o nejreprezentativnějším dokumentu. Součin tf*idf vytváří skóre, čím vyšší, tím lépe slovo reprezentuje dokument. Takže 'koláč' se bude vyskytovat pouze v dokumentu d3 a bude tedy mít vysoké tf a vysoké idf (protože je to obrácené). Zatímco 'the' bude mít vysoké tf, ale nízké idf, což vyřadí tf a poskytne nízké skóre.

Režim přirozeného jazyka MYSQL také přichází se sadou ignorovaných slov (the, a, some atd.) a odstraňuje slova, která mají méně než 4 písmena. Což je vidět na vámi poskytnutém odkazu.




  1. Php addlashes sql injection stále platné?

  2. Výběr záznamů mezi dvěma časovými razítky

  3. Jak se vyhnout duplicitám při aktualizaci databáze MySQL?

  4. MySQL:Vložte datum a čas do jiného pole datum a čas