我想从我下载的语料库中制作一个语言学习工具。我想要实现的是,用户将输入一个他想在其中查看它的用法的单词,然后 php 查询输出将列出包含关键字的单词。这对语言学习者很有启发意义。sentences
sentences
为此,我想将所有文本导入 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)
查询时间大约需要两分钟。
我在下面尝试过indexed table
,但无法将文本加载到其中,body 字段充满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);
你能帮我吗?