2

ニュース スクリプトがあり、データベースから同様のニュースを取得したい

どんな助けでも

私はこれを持っています

table => news
fields => id, title, news

そして、私はこのコードを使用しました

    $select = $mysqli->query("SELECT * from news  WHERE title LIKE '%$title%' LIMIT 4 ");
$num = $select->num_rows;
while ($rows = $select->fetch_array(MYSQL_ASSOC)){  
$id_news       = $rows ['id'];
$title_news       = $rows ['title'];
$news_news       = $rows ['news'];

echo '<a href="'.$id_news.'">'.$title_news.'</a>';

}

しかし、これは検索用だと思いますが、目的の結果が得られませんでした

データベースから同様のニュースを取得するための別のコード

ありがとう

4

2 に答える 2

1

あなたにとって「類似」が何を意味するのかがわからないため、これに答えるのは難しいですが、MySQL 全文検索機能を参照することをお勧めします。

于 2013-08-24T13:25:04.190 に答える
0

私の知る限り、これを行うための迅速で明確な方法はありません。全文キーワードまたはセマンティック検索を求めていますが、これは非常に高度なテーマです。完全にその目的のために設計された完全な検索サーバーがあります (Sphinx - http://sphinxsearch.com/ - が最初に思い浮かびます)。

私の意見では、次の 2 つのオプションがあります。

  1. Sphinx などの検索サーバーに切り替えて、そのテクノロジーを使用します。これは、この質問の範囲外です。
  2. 以下で説明するデータベース スキーマを変換します。

オプション #2 では、たとえば、keywordsテーブルを追加して各記事にキーワードを挿入できます。次に、検索時に、キーワードを使用して任意の記事を検索し、同じキーワードを持つ記事を見つけることができます。

于 2013-08-24T13:36:37.397 に答える