1

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

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

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

1) 将difficulty包含整数值的列添加到 words 表中。那么对于用户每看一个词并进行排名,他/她选择的较难的词的难度会增加一个,而没有选择的词的难度会降低一个。我可以简单地order by使用整数值来获得最困难的值。

2) 创建一个difficulty包含两列的表,moreless,根据用户所做的每个选择的结果保存单词(或ID's单词以节省空间)。我仍然不确定如何获得最困难的单词 -group by和的一些组合order by

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

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

4

1 回答 1

0

你试过狮身人面像吗?猜猜像 sphinx 这样的全文搜索引擎会以出色的性能解决问题。

于 2013-10-25T02:20:35.590 回答