Mysql 在关系表上进行SQL多关键字全文搜索,以返回按相关性分级的所有结果

Mysql 在关系表上进行SQL多关键字全文搜索,以返回按相关性分级的所有结果,mysql,full-text-search,Mysql,Full Text Search,我有一个名为“location_level”的表,它将一个唯一的“id”字段与一个“value”字段相关联(美国、巴西、密歇根)。“值”字段设置为全文索引 我有另一个名为“poll\u location\u level”的表,它将“poll\u id”字段与“location\u level”中的一个唯一“id”字段相关联 我正在尝试找出如何一次对几个术语进行全文搜索,以返回“poll_location_level”中的所有“poll_id”字段,并与每个字段关联 因此,如果搜索包括“密歇根州”

我有一个名为“location_level”的表,它将一个唯一的“id”字段与一个“value”字段相关联(美国、巴西、密歇根)。“值”字段设置为全文索引

我有另一个名为“poll\u location\u level”的表,它将“poll\u id”字段与“location\u level”中的一个唯一“id”字段相关联

我正在尝试找出如何一次对几个术语进行全文搜索,以返回“poll_location_level”中的所有“poll_id”字段,并与每个字段关联

因此,如果搜索包括“密歇根州”+“美国”,则我希望:

1) “poll_id”1(来自“poll_location_level”)以最高的相关性评级返回(因为“poll_id”1与“location_level_id”1和3都关联)

2) “poll\u id”3(来自“poll\u location\u level”)以第二高的评级返回(因为“poll\u id”3与“location\u level\u id”3关联)

3) “poll_id”2(来自“poll_location_level”)以最低评级返回(因为“poll_id”2不与任何“location_level_id”字段关联)


全文搜索结果证明是错误的方法,因为我正在寻找精确的匹配项

以下是我最终用来做我需要做的事情(感谢IRC的帮助):

选择ploc.poll\u id,COUNT(loc.id)作为n从poll\u location\u level作为ploc LEFT JOIN location\u level作为ploc.location\u level\u id=loc.id和loc.value在('United States','Michigan')组中按ploc.poll\u id顺序按n DESC