我有3种不同语言的主题名称字段。输入新主题时,我使用JavaScript在页面上显示,如果该主题已存在于数据库中,则使用select
和like clause
语句。问题是,如果主题名称输入完全相同,它会发现任何重复,但如果只有一些单词是相同的话,则不会发现重复。
如何检查有关检查相似词而不是整个主题的主题的重复?
答案 0 :(得分:0)
SQL Server提供全文搜索功能。你可以试试这个而不是你喜欢的条款。
答案 1 :(得分:0)
ATaylor非常适合你。要排除特定的常用关键字,我建议在语句末尾使用“EXCEPT SELECT WHERE LIKE”语句。
答案 2 :(得分:0)
SELECT DISTINCT(field) AS var1, COUNT(field) AS var2 FROM table GROUP BY field HAVING var2 > 1;
这将显示当前数据库中存在两次或更多次的任何字段
答案 3 :(得分: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