我的简单sqlite FTS3实现当前将用户查询与存储结果进行匹配,并返回它们,只要这些结果包含用户查询中的所有单词(换句话说,FTS表是使用简单的标记化器创建的).
现在,我想让搜索更加智能化,我希望它能够根据查询中匹配结果的单词数对结果进行排名/排序.例如,
SELECT name FROM naMetable WHERE name MATCH 'fast food restaurant'
目前返回
SUBWAY FAST FOOD RESTAURANT MCDONALDS FAST FOOD RESTAURANT
应该回来
SUBWAY FAST FOOD RESTAURANT MCDONALDS FAST FOOD RESTAURANT CHIPOTLE FAST FOOD PIZZA FAST FOOD GOOD FOOD OUTLET
以该顺序.换句话说,搜索输出不应限于必须包含用户查询的所有单词的结果,而是将包含所有单词的结果放在列表中更高的位置,同时为返回部分匹配的结果腾出空间.