Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将IMDB quotes.list转储文件导入到mysql表中,使每行包含散列之间的文本(“QUOTE”)?_Mysql - Fatal编程技术网

如何将IMDB quotes.list转储文件导入到mysql表中,使每行包含散列之间的文本(“QUOTE”)?

如何将IMDB quotes.list转储文件导入到mysql表中,使每行包含散列之间的文本(“QUOTE”)?,mysql,Mysql,我想从我下载的软件中制作一个语言学习工具。我想要实现的是,用户将输入一个他希望在句子中查看其用法的单词,然后php查询的输出将列出包含关键字的句子。这对语言学习者很有启发性 为此,我想将所有文本导入mysql数据库,然后使用PHP访问它。我确实这样做了,但效果不好,语句填充不正确,查询时间太长。 quotes.list的格式如下所示 # "Andromeda" (2000) {Pitiless as the Sun (#2.4)} Tyr Anasazi: Am I mistaken str

我想从我下载的软件中制作一个语言学习工具。我想要实现的是,用户将输入一个他希望在
句子
中查看其用法的单词,然后php查询的输出将列出包含关键字的
句子
。这对语言学习者很有启发性

为此,我想将所有文本导入mysql数据库,然后使用PHP访问它。我确实这样做了,但效果不好,
语句
填充不正确,查询时间太长。 quotes.list的格式如下所示

# "Andromeda" (2000) {Pitiless as the Sun (#2.4)}
Tyr Anasazi: Am I mistaken
  strangers unlimited access to this ship?
Captain Dylan Hunt: Why yes
  closely and see what they do with it. There's something not quite
  trust worthy about them
Tyr Anasazi: You occassion bouts of deviousness never fail to
  surprise me



# "Andromeda" (2000) {Point of the Spear (#3.16)}
Tyr Anasazi: Well even crippled I would much prefer to assume the
  offensive than instruct the crew to make peace with their various
  and sundry dieties!
如何将散列之间的文本导入mysql表中的每一行? 你会发布任何其他的想法来缓解我的项目吗

编辑:我使用perl分句器脚本“句子边界.pl”将文本对齐成句子 现在我想不出创建表并将“对齐文本”加载到表中的最佳方法。我尝试了一些方法,例如:

  CREATE TABLE text
 (

        body TEXT

 )ENGINE = MYISAM
当我加载时,使用

 LOAD DATA LOCAL INFILE '/home/user/Desktop/quotes' INTO TABLE text;
并使用

 SELECT * FROM `text` WHERE MATCH(body) AGAINST('freedom' IN BOOLEAN MODE)
查询时间大约需要两分钟

我尝试了下面的
索引表
,但无法将文本加载到其中,正文字段充满了NULL

 CREATE TABLE IF NOT EXISTS text  (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,          `body` VARCHAR(140) NOT NULL,  PRIMARY KEY (`id`)  ) ENGINE=MyISAM AUTO_INCREMENT=5000000 DEFAULT CHARSET=utf8;
EDIT2

我设法将文本加载到body字段中,但查询时间仍然太长

  LOAD DATA LOCAL INFILE '/home/user/Desktop/quotes' INTO TABLE text (body);

你能帮我一下吗?

虽然我的问题的主要思想有点离题,但我终于在quotes表上做了一个超级快速的句子列表器mysql查询。完成上述步骤后,我将全文模式应用于表:

ALTER TABLE text ADD FULLTEXT(body);
请注意,它必须在填充表后应用,否则导入时间会变长

我在本地主机中编写了一个php文件,我正在使用它访问数据库并列出搜索到的句子,用不到2秒钟的时间列出大约2500个句子