-4

これが適切なサイトかどうかはわかりませんが、ここに行きます。

eコマースサイトから一般的な商品を作成したい。たとえば、私がこれを持っている場合:

Acer Aspire X 4GB RAM ---- $400
Acer Aspire X 4GB RAM ---- $410
Acer Aspire X 4GB RAM ---- $420
Acer Aspire X 2GB RAM ---- $350
Apple macbook X 8GB RAM ---- $1400
Apple macbook X 6GB RAM ---- $1200
Apple macbook X 6GB RAM ---- $1220            (notice that some products can be repeated here)

私は情報を分類することによってこれを取得する必要があります:

1- Acer Aspire X 4GB
2- Acer Aspire X 2GB 
3- Acer macbook 8GB 
4- Acer macbook 6GB 

では、どのようなテクニックを使うべきでしょうか?

前もって感謝します!!

今はphpを使っていますが、どんな言語でも書けると思います。

4

1 に答える 1

-1

PHPを使用している場合は、私が使用した関数を使用して拡張することができます。それはあまり進んでおらず、より良いアプローチもあります。たとえば、この関数は単語ごとに比較しますが、文字ごとに比較することもできます。非常に大量の製品がある場合は、それらすべてを相互に比較する必要があるため、問題が発生する可能性があります。ただし、最善かつ最速の方法は、SQLとおそらく全文検索を使用することかもしれません。

PHPコード:

function getSimilarStart($s1, $s2) {
    $split1 = explode(' ', $s1);
    $split2 = explode(' ', $s2);

    $starta = array();
    $start = '';
    foreach ($split1 as $k => $v) {
        if (isset($split2[$k]) && $v == $split2[$k] && $start == substr($s2, 0, strlen($start))) {
            $starta[] = $v;
            $start = join (' ', $starta);
        } else {
            return $start;
        }
    }

    return $start;   
}
于 2013-01-21T06:53:06.150 に答える