python - 存储句子中有趣的单词

标签 python sql sqlite

我有一个像the cat sat on the mat这样的句子存储为单个sql字段。我想定期搜索不在非索引字列表中的关键字,在本例中 cat sat mat 将它们存储在 SQL 表中以便快速搜索的最佳方法是什么?

据我所知,我看到以下选项

  1. 每行最多附加 [n] 列,每个单词一列。
  2. 将所有有趣的单词存储在一个逗号分隔的字段中。
  3. 一个新表,通过上述任一选项链接到第一个表。
  4. 每次我有一个新单词要搜索时,什么都不做并搜索匹配项。

搜索单词匹配的最佳做法和最快的做法是什么?如果这有什么区别的话,我在 python 中使用 sqlite。

最佳答案

我建议给你的句子一个关键,可能是身份。然后,我将创建链接到您的句子表的第二个表,其中每个有趣的单词都有一行。

如果您想搜索以 ca 开头的单词 - 如果您将这些单词存储在逗号分隔中,则必须在开头和结尾使用通配符,而如果它们各自位于单独的行中,则可以绕过开始通配符。

此外,假设您在逗号分隔的列表中找到了匹配项,您必须解析出哪个单词实际上是命中的。对于第二个表,您只需返回单词本身即可。更不用说在一个字段中存储多个值在关系数据库中是一个主要禁忌。

关于python - 存储句子中有趣的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5627140/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

MySQL 将行转为动态数量的列

SQLite 插入值并选择

python - python 字符串中的字节前缀

python - 填充列表 nan 值

python - 将输入转换为字符串和两个 float

sql - 使用 INNER JOIN 更新 SQL Server 中的多个表

c# - 如何使用.Net部署sqlite

Chrome 中的 HTML5 Web SQL 数据库文件位置

python - 使用 pyudev 设置键盘布局