2009-06-23 6 views
0

私は、別々のソースからのデータを照合するために2つの異なるデータベース間でmysqlのタイトル検索をしようとしています。 db1またはdb2の両方で、タイトルは1つのdbの「最初のタイトル」から始まり、もう1つのdbの「最初のタイトル」または「遠く離れた」vs「遠い&離れている」から始まることがあります。mysql検索のあいまいな "the"または "and /"のあいまいさ

Mysqlのフルテキスト検索は、これを理解するのにはあまり効果的ではないようです。私は現在、「WHERE title1 = title2」というストレートマッチをしていますが、タイトルに若干の違いがある場合は、この接続が欠落しています。

私が思いついた唯一の解決策は、どちらかのタイトルに "the"または "&"が含まれているかどうかをチェックする一連のif文を実行することです。

これは恐ろしい方法ではありませんが、これらの問題を処理するためのクエリを書くより効率的な方法があると仮定します。

アイデア?これまでの私のオンライン検索は無駄でした。 ありがとう

答えて

1

前処理ステップの贅沢はありますか?そうした場合は、2つのデータベースのタイトルを比較する前に正規化することを検討することもできます。

+0

私は検索を繰り返すのではなく、それを考慮していなかったので、いつも "the"をトリムして "&" "and"を変更することができましたが、もっと良い方法があると思っていました。 – pedalpete

+0

ああ、今私はそれがリストのトップではなかった理由を覚えています。前処理は、データベースの両方のタイトルをデータベースから取り出して比較することを前提としていますか、またはタイトルがデータベースに入る前に「前処理」を意味していますか? – pedalpete

+0

私は実際にデータベースを変更しようと考えていました。 canonicalized_titleなどの新しい列を作成し、すべてのthesがトリムされ、&s andedが付いたタイトルを挿入するための一括更新を実行し、次にまっすぐな比較を行います。 –

関連する問題