0

假设我的数据库中有 1 GB 的数据。我想做这样的事情:

如果用户搜索一个句子,说“Hello world,我在这里。”,程序应该能够返回找到这个确切字符串的数据(行)以及具有相似文本的行,例如,“Hello world is a著名的字符串,我敢肯定!'。

我的问题是:哪一个会更有效——一个 sql 命令还是一个动态编程概念?

如果 sql 更高效,可以使用什么命令来做同样的事情?

我正在使用 mysql 5.6

4

1 回答 1

2

您想使用 MySQL 的全文功能,此处记录了这些功能。

基本上,您需要的数据结构是倒排索引。对于每个单词,它包含该单词在所有文档中的位置。有了这些信息,你就可以开始把事情拼凑起来了。

在大多数情况下,您最好使用已建立的软件来执行此操作,而不是编写自己的软件。我不想阻止你,如果你真的想的话,但问题可能比你想象的要难。

于 2013-04-01T14:11:26.700 回答