我有一个像the cat sat on the mat
这样的句子存储为单个sql字段。我想定期搜索不在非索引字列表中的关键字,在本例中 cat sat mat
将它们存储在 SQL 表中以便快速搜索的最佳方法是什么?
据我所知,我看到以下选项
- 每行最多附加 [n] 列,每个单词一列。
- 将所有有趣的单词存储在一个逗号分隔的字段中。
- 一个新表,通过上述任一选项链接到第一个表。
- 每次我有一个新单词要搜索时,什么都不做并搜索匹配项。
搜索单词匹配的最佳做法和最快的做法是什么?如果这有什么区别的话,我在 python 中使用 sqlite。
最佳答案
我建议给你的句子一个关键,可能是身份。然后,我将创建链接到您的句子表的第二个表,其中每个有趣的单词都有一行。
如果您想搜索以 ca 开头的单词 - 如果您将这些单词存储在逗号分隔中,则必须在开头和结尾使用通配符,而如果它们各自位于单独的行中,则可以绕过开始通配符。
此外,假设您在逗号分隔的列表中找到了匹配项,您必须解析出哪个单词实际上是命中的。对于第二个表,您只需返回单词本身即可。更不用说在一个字段中存储多个值在关系数据库中是一个主要禁忌。
关于python - 存储句子中有趣的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5627140/