私はちょっと検索エンジンのものを作っています。
私のクエリはクエリ文字列を分解SELECT
し、その単語に関連付けられているすべての参照IDを文字列から各単語に対してsします。
各クエリワードの各IDに関連性スコアを与える方法があります。ただし、クエリがIDを複数回返す場合に追跡する方法を探しています。誰かが私を正しい方向に向けることができますか?PHPとmySQLを使用していますか?
私はちょっと検索エンジンのものを作っています。
私のクエリはクエリ文字列を分解SELECT
し、その単語に関連付けられているすべての参照IDを文字列から各単語に対してsします。
各クエリワードの各IDに関連性スコアを与える方法があります。ただし、クエリがIDを複数回返す場合に追跡する方法を探しています。誰かが私を正しい方向に向けることができますか?PHPとmySQLを使用していますか?
これを実現するには、PHPまたはSQLを使用できます。
コード例(mysql apiを直接使用していると仮定すると、エラーチェックは行われません-使用すべきではありません):
<?php
$sql = 'SELECT ...';
$result = mysql_query($sql);
$ids = array();
while ($row = mysql_fetch_object($result)) {
$id = $row->id;
if (array_key_exists($id, $ids)) {
print 'id '. $id . ' exists';
continue;
}
$ids[$id] = true;
}
?>
SQLを使用すると、次のようにHAVINGステートメントを試すことができます。
SELECT * FROM whatevs HAVING COUNT(id) > 1
私はあなたのテーブルレイアウトを知らないので、実際に機能するコード/SQLを書くのは難しいです。