提高sql文本搜索结果的质量

提高sql文本搜索结果的质量,sql,Sql,我有一个带有列的表,该列存储文章的标题。 用户正在键入搜索词,例如“德国汽车测试”。 搜索是使用sql之类的工具完成的,看起来是这样的(基于参数的数量) 这是可行的,但是,结果对用户来说并不令人满意,返回的结果太多,结果没有按照匹配的字数进行排序(示例显示第一个结果包含所有3个术语) 我希望避免在BekEnter上进行处理,但如果处理时间不太贵(我想用java和SQL -EntItMealMeX—MySQL)< /P>,我会考虑它。 有没有简单的方法可以提高我的搜索质量? 我在表中有大约1000

我有一个带有列的表,该列存储文章的标题。 用户正在键入搜索词,例如“德国汽车测试”。 搜索是使用sql之类的工具完成的,看起来是这样的(基于参数的数量)

这是可行的,但是,结果对用户来说并不令人满意,返回的结果太多,结果没有按照匹配的字数进行排序(示例显示第一个结果包含所有3个术语)

我希望避免在BekEnter上进行处理,但如果处理时间不太贵(我想用java和SQL -EntItMealMeX—MySQL)< /P>,我会考虑它。 有没有简单的方法可以提高我的搜索质量?


我在表中有大约10000条记录。

我不是MySql专家,但您可能需要的是全文搜索功能。好消息是MySql支持这个功能。看看这个或这个。要使用全文搜索,您必须在给定列上创建全文索引。基于此索引的查询将比使用LIKE运算符更快。另一个优点是全文搜索查询从最相关的开始返回结果。这意味着您将只能向用户显示这些可能对他感兴趣的行

Select * from articles where title like '%Germany%' or title like '%car%' or title like '%testing%';