【发布时间】:2011-04-09 09:29:43
【问题描述】:
我看到越来越多的搜索不仅在特定列中找到子字符串,而且似乎在所有列中进行搜索。一个例子是在亚马逊,你可以搜索“阿诺德”,它会找到由阿诺德施瓦辛格主演的电影 Running Man 和 Gund 玩具 Arnold the Snoring Pig。我不知道这种搜索的术语是什么(广泛搜索?全局搜索?),这让我很烦恼。但我真正想知道的是以QUICK方式完成此类搜索的正常模式是什么。
显而易见且缓慢的方法是在标题中搜索子字符串“Arnold”、在作者中搜索“Arnold”、在描述中搜索“Arnold”等。
想到的第一个快速解决方案是将用于描述产品的每个单词存储到产品本身的映射,然后搜索该单词映射。这可能很快,但对我来说似乎不是很节省空间。
可能有一百种方法可以做到这一点,其中一些可能甚至不使用数据库。但规范是什么?
【问题讨论】:
标签: sql database database-design search full-text-search