0

記事の大きなテーブルがあり、何らかの類似性に基づいて関連する記事を取得したいと考えています。たとえば、2 つの記事があります。1回目の記事タイトルは「記事その1」、2回目の記事は「記事その2」です。

私が効果的に望んでいるのは、タイトルに基づいた記事の最も可能性の高い一致の出力であり、それが現在の記事のバリエーションであるか、記事の継続または変更であるかのいずれかです。

例:

 article_title  friendly_url   id
 Article 1      article-1      013
 Article 2      article-2      023
 Example 1      example-1      034
 Example 3      example-3      016
 Example 2      example-2      015  

理想的には、タイトルに基づいた一種の文字列一致が必要なため、「記事 1」関連記事は「記事 2」または「例 3」関連記事は「例 1」になり、 「例2」。

注: タイトルは 3 語以上にすることも、特殊文字を含めることもできます。たとえば、タイトルが「ハウツー: チュートリアル パート 1」の場合、「ハウツー: チュートリアル パート 2」に関連付けられます。

私の考えでは、MySQL クエリを使用してこれを実行できますが、PHP を見回すと、より優れた機能がいくつかある可能性があります。テーブルには 1300 以上の記事が含まれているため、関連する記事をリストから選択して手動で作成することは現実的な解決策ではありません。

事前に乾杯。

4

1 に答える 1

1

データベースを正規化すると、この種の作業がはるかに簡単になります。これは、リンクされた記事の ID を書き込む独自の行を作成することを意味します。お気に入り:

article_group  article_title  friendly_url   id
0              Article 1      article-1      013
0              Article 2      article-2      023
1              Example 1      example-1      034
1              Example 3      example-3      016
1              Example 2      example-2      015  

次に、各記事グループの名前とその他の情報用の独自のテーブルを作成できます。タイトルが常に同じで、番号が異なるだけの場合、それをグループに入れ、上記の表の番号を保持するだけで、 Friendly_url に何か意味がありますか? ただし、後者の質問はあなた次第です。

于 2013-10-28T02:12:02.737 に答える