我目前正在处理的一个项目涉及解析大量文本,取出“停用词”,然后对该站点的每个用户对文章执行某些操作。最后,我需要一个文章的唯一单词列表,删除停止的单词,以及该单词使用次数的计数。例如:
computer: 6
artificial: 5
robot: 2
我想知道如何最好地将这种数据存储在MySQL数据库中。显而易见的答案是只存储一个简单的列表“计算机:6个人工:5个机器人:2”并且这种方法没有任何问题,只是感觉很难看。我想知道是否有更优雅的解决方案。
谢谢!
答案 0 :(得分:1)
您可以将其存储在一个表中,该表中包含单词列和计数列。可能的结构是:
create table WordCounts (
word varchar(255) not null,
articleid int not null,
cnt int not null
);
您可能需要word
和article
上的索引。
答案 1 :(得分:0)
也许您可以尝试其他方法,例如MongoDB或其他方法。这种数据库(面向文档)很适合存储这类数据。但是,您将应用于该数据的处理类型使得一种方法比另一种方法更好。
但是,对于关系数据,您可以尝试3个表:文章,单词和一个加入这两个表。
文章将包含有关文章的信息,单词是一个表格,包含到目前为止找到的所有单词以及连接这两个单词的表格(article_id,word_id,count)
我认为这是使用关系数据库保存数据的好方法,因为“word”表将受到限制。但是,如果您需要明文中的单词,也许最好尝试@Gordon Linoff所避免的方式(保存连接)
但是,再次,您存储数据的方式与您处理数据的方式密切相关。