mysql - 如何将 IMDBquotes.list 转储文件导入到每行包含哈希值 ("#"之间的文本的 mysql 表中?

标签 mysql

我想从 corpus 制作一个语言学习工具我下载了。我想要实现的是,用户将输入一个他想要在句子中查看其用法的单词,然后 php 查询输出将列出包含 的句子关键词。。对于语言学习者来说非常有指导意义。

为此,我想将所有文本导入 mysql 数据库,然后使用 PHP 访问它。我确实这样做了,但效果不佳,sentences 未正确填充,查询时间太长。 quote.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 句子分段器脚本“sentence-boundary.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;

编辑2:

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

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

你能帮我解决一下吗?

最佳答案

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

ALTER TABLE text ADD FULLTEXT(body);

请注意,必须在填充表后应用它,否则导入时间会更长。

我在本地主机中编写了一个 php 文件,我用它来访问数据库并列出搜索到的句子,只需不到 2 秒即可列出大约 2500 个句子。

关于mysql - 如何将 IMDBquotes.list 转储文件导入到每行包含哈希值 ("#"之间的文本的 mysql 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669665/

相关文章:

php - 按三列分组在 CodeIgniter 中不起作用

php - PDO 问题 - 在非对象上调用成员函数 query()

php - Mysql连接不上,目标机器主动拒绝

php - 仅在某些行之间将 csv 导入到 mysql

mysql - 加载数据到 MySQL : How to deal with backslashes?

mysql - 如何为现有的 sails 项目设置 sequelize

php - 在 PHP 中使用 jquery ajax 提交条件表单元素

mysql - Laravel 4 将数据库字段更新为空 - 错误

MySQL 日期时间显示 0 :00:00

mysql - 如何使用池连接来连接表?