总结问题有:
1、词典数据库结构设计如何设计最科学?
2、用什么格式保存数据比较好,数组?还是XML?
几经周转,终于找到一个日汉词库,可是他的格式如下:
<单词块>
<单词>アース</单词>
<单词解释块>
<基本词义>
<单词项>
<单词原型>アース</单词原型>
<解释项>earth</解释项>
<单词词性>名</单词词性>
<解释项>(大)地,地球。</解释项>
<解释项>地线,电焊地线。</解释项>
<单词词性>名·自他サ</单词词性>
<解释项>接地。</解释项>
</单词项>
</基本词义>
</单词解释块>
</单词块><单词块>
<单词>加振力</单词>
<单词解释块>
<基本词义>
<单词项>
<单词原型>加振力</单词原型>
<单词音标>
<日文发音>かしんりょく</日文发音>
</单词音标>
<解释项>助振力,激振力。</解释项>
</单词项>
</基本词义>
</单词解释块>
</单词块><单词块>
<单词>加重</单词>
<单词解释块>
<基本词义>
<单词项>
<单词原型>加重</单词原型>
<单词音标>
<日文发音>かじゅう</日文发音>
</单词音标>
<单词词性>名·自他サ</单词词性>
<解释项>加重。</解释项>
<例句>
<例句原型>負担を加重する</例句原型>
<例句解释>加重负担。</例句解释>
</例句>
</单词项>
</基本词义>
</单词解释块>
</单词块>给个三个代表的单词说明。我应该建立什么样的数据结构来保存这些内容呢,先说说我的想法吧。话比较多,本人研究很久未果,希望达人支持下小弟。字段,字段解释
wid 主键,自增ID
word 存放单词
hiragana 存放单词日文发音
descript 存放单词释义,包括例句啥的,也就是<单词解释块>里的内容。我本来把所有东西都拆出来:单词词性、单词原型、例句等,但问题是有的单词,他有两个单词词性,一个词即可以做动词,也可以做名词,不同的词性有不性的解释和例句,所以我考虑直接融合在一起。只把唯一的部分挑出来。唯一的部分就是:单词、日文发音这两个。剩余的全部归到单词释义。现在问题出来了:
问题一、单词释义中要用什么格式保存那些内容呢?是直接上面的XML格式,还是要转换成数组?
1、直接上面的那种格式,那种格式是XML格式。对用户来说是很直观的,但是不方便调用,如果我只要其中的单词解释呢?当然如果没有其他选择办法的话,可以全部调用后再过滤。
2、如果转换成数组,我可以通过XML2ARRAY直接转换成数组,但是问题是,键的顺序丢失了,比如一个单词有两个词性:动词、名词。动词有三个例句,句词有一个例句,转换成数组后,你就不知道哪个例句是什么词性下的例句了。我给个数组:
   1. Array
   2. (
   3.     [单词块] => Array
   4.         (
   5.             [单词] => アース
   6.             [单词解释块] => Array
   7.                 (
   8.                     [基本词义] => Array
   9.                         (
  10.                             [单词项] => Array
  11.                                 (
  12.                                     [单词原型] => アース
  13.                                     [解释项] => Array
  14.                                         (
  15.                                             [0] => earth
  16.                                             [1] => (大)地,地球。
  17.                                             [2] => 地线,电焊地线。
  18.                                             [3] => 接地。
  19.                                         )
  20.                                     [单词词性] => Array
  21.                                         (
  22.                                             [0] => 名
  23.                                             [1] => 名·自他サ
  24.                                         )
  25.                                 )
  26.                         )
  27.                 )
  28.         )
  29. )问题二、这个词库文档的格式就是上面的那种,但是有30M,我要用什么方法来将这么大的数据导入到MYSQL呢?
1、我想到一个很傻很天真的方法,用文件分割器,将文件分割成100分,再用PHP的正则去匹配。也很慢,但是至少不会死机。求助大家:1、我的数据库结构需要改进么?之前没有做过类似的项目,我知道这种数据结构很不科学,有经验的朋友指点一下。
2、如何将大XML文件导入到MYSQL。