sql >> データベース >  >> RDS >> Mysql

mysql-フルテキストインデックス-自然言語モードとは

    MySQLの自然言語全文検索は、検索クエリをコーパスと照合して、最も関連性の高い一致を見つけることを目的としています。したがって、「I love pie」を含む記事があり、ドキュメントd1、d2、d3(この場合はデータベース)があるとします。文書1と2はそれぞれスポーツと宗教に関するものであり、文書3は食品に関するものです。あなたの質問、

    d3が記事に最もよく一致するため、d3を返し、次にd2、d1(d2、d1のランダムな順序)を返します。

    MYSQLが使用する基礎となるアルゴリズムは、おそらくtf-idfアルゴリズムです。ここで、tfは用語の頻度を表し、idfは逆のドキュメントの頻度を表します。 tfは、それが言うように、記事の単語wがAドキュメントに出現する回数だけです。 idfは、単語が出現するドキュメントの数に基づいています。したがって、多くのドキュメントで使用されている単語は、最も代表的なドキュメントの決定には役立ちません。 tf * idfの積はスコアを生成し、スコアが高いほど、その単語はドキュメントをより適切に表します。したがって、「pie」はドキュメントd3でのみ発生し、したがって、高いtfと高いidfを持ちます(逆であるため)。一方、「the」のtfは高くなりますが、idfが低くなるため、tfが発生し、スコアが低くなります。

    MYSQL自然言語モードには、一連のストップワード(the、a、someなど)も付属しており、4文字未満の単語を削除します。これはあなたが提供したリンクで見ることができます。




    1. MariaDB JSON_VALUE()とJSON_QUERY():違いは何ですか?

    2. 定数値でbindParamを使用しているときに、参照によってパラメーター2を渡すことができないというエラーが発生するのはなぜですか?

    3. Oracle12cの休止状態の方言

    4. MySQLは2つの値の間でランダムな値を取得します