2012-04-26 15 views
-2

私はちょっとした検索エンジンのことを構築しています。同じ参照でSQL結果に対して操作を実行

私のクエリはクエリ文字列を分解し、次にSELECTを、その単語に関連付けられた参照IDのすべての文字列から各単語について分解します。

私は各クエリワードごとに各idに関連性スコアを与える方法を持っています。しかし、私のクエリがidを何度も返すかどうかを追跡する方法を探しています。誰も私を正しい方向に向けることができますか?私はPHPとmySQLを使用していますか?

+2

実際のS.O質問にはコードが含まれています。何らかの理由でmysqlの全文検索を再考するように思えます。 –

+0

あなたが説明していることを理解するためには、実際にコードを見る必要があります。あなたがそれを追加できたら、司会者の注意を喚起するためにあなたの質問にフラグを立てるか(または私のコメントに返信してください、私はもう少し長い間ここにいます)、これを再開することができます。 –

答えて

0

さて、あなたはこれを達成するために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を記述することは難しいです。

関連する問題