繁体   English   中英

数据库设计:如何在MySQL中存储“单词难度”?

[英]Database Design: How should I store 'word difficulty' in MySQL?

我为Android开发了一个词汇应用程序,该应用程序在本地数据库(SQLite)中存储了约5000个单词的列表,我想找出哪些单词比其他单词难得多。

为了找出答案,我正在考虑添加一个非常简单的功能,即在屏幕上放置两个随机单词,要求用户选择难度更大的单词。 然后,将显示另一对随机单词,并且只要用户需要,就可以重复此过程。 从理论上讲,该“越难用词”的用户越多,该应用程序将能够区分难用词和易用词。

由于困难是基于所有用户的输入,因此我知道我需要在线跟踪它,以便每个应用都可以从我的网站(MySQL)的数据库中获取它们。 我不确定跟踪困难的最有效方法是什么,但是我想出了两种可能的解决方案:

1)在单词表中添加一个包含整数值的difficulty列。 然后,对于用户查看和排序的每对单词,他/她选择较难的单词的难度将增加一个,而未选择的单词的难度将减小一个。 我可以简单地order by该整数值order by以获得最困难的值。

2)创建一个difficulty有两列,表moreless ,持有字(或ID's的话基于每个用户进行选择的结果,以节省空间)。 我仍然不确定我将如何获得最困难的单词group byorder by某种组合?

第二种解决方案的好处是,我可以知道每个单词出现过多少次(包含单词的more列中的行数+包含单词的less列中的行数)。 这有助于进行统计,例如,如果我想找出哪个词的more / less比率最高。 但这也将比我第一个建议的解决方案占用更多的空间,并且不知道它如何扩展。

您认为哪个是更好的解决方案,或者我应该考虑其他哪些解决方案?

您为此尝试了狮身人面像吗? 猜猜像狮身人面像这样的全文搜索引擎将以出色的性能解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM