-2

我正在构建一个搜索引擎的东西。

我的查询分解了一个查询字符串,然后SELECT为字符串中的每个单词拆分了与该单词关联的所有参考 ID。

我有一种方法可以为每个查询词的每个 id 提供相关性分数。但是,如果我的查询多次返回 id,我正在寻找一种跟踪方法。谁能指出我正确的方向。我正在使用 PHP 和 mySQL?

4

1 回答 1

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。

于 2012-04-26T04:45:56.127 回答