-1

3 つの異なる言語のトピック名の 3 つのフィールドがあります。select新しいトピックを入力するとき、andlike clauseステートメントを使用してそのトピックがデータベースに既に存在する場合は、JavaScript を使用してページに表示します。問題は、入力されたトピック名がまったく同じである場合に重複が検出されますが、一部の単語のみが同じ場合には検出されないことです。

トピック全体ではなく単語の類似性をチェックするトピックの重複をチェックするにはどうすればよいですか?

4

4 に答える 4

0

SQL Serverは、全文検索機能を提供します。like句の代わりにこれを試すことができます。

于 2012-09-07T10:09:56.463 に答える
0
SELECT DISTINCT(field) AS var1, COUNT(field) AS var2 FROM table GROUP BY field HAVING var2 > 1;

これにより、現在のデータベースに2回以上存在するフィールドが表示されます

于 2012-09-07T10:37:08.607 に答える
0

ATaylor は、ほとんどあなたのためにそれを綴っています。特定の一般的なキーワードを除外するには、ステートメントの最後に「EXCEPT SELECT WHERE LIKE」ステートメントを使用することをお勧めします。

于 2012-09-07T10:11:27.167 に答える
0

全文検索では、関連性スコアを選択できます。最も関連性の高い結果を取得するためのクエリを記述します。

SELECT MATCH('content') AGAINST ('keyword1 
keyword2') as relevancy_score FROM topic WHERE MATCH
('Content') AGAINST('+keyword1 +keyword2' IN 
BOOLEAN MODE) HAVING relevancy_score > 0.2 ORDER 
BY relevancy_score DESC.

このリンクを参照できます。 http://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html

于 2016-10-01T21:32:05.463 に答える