-1

我有 3 种不同语言的主题名称字段。select输入新主题时,如果该主题已通过 using和like clause语句存在于数据库中,我将使用 JavaScript 在页面上显示。问题是如果输入的主题名称完全相同,它会发现任何重复,但如果只有一些单词相同,则不会。

如何检查主题的重复,检查词的相似性而不是整个主题?

4

4 回答 4

0

SQL Server 提供全文搜索功能。你可以试试这个而不是你的like子句。

于 2012-09-07T10:09:56.463 回答
0

ATaylor 几乎为您说明了这一点。要排除特定的常用关键字,我建议在语句末尾使用“EXCEPT SELECT WHERE LIKE”语句。

于 2012-09-07T10:11:27.167 回答
0
SELECT DISTINCT(field) AS var1, COUNT(field) AS var2 FROM table GROUP BY field HAVING var2 > 1;

这将显示当前数据库中存在两次或多次的任何字段

于 2012-09-07T10:37:08.607 回答
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 回答