English 中文(简体)
词典搜索词典词典 - PHP 和 MySQL 的最佳性能
原标题:Dictionary searching words - best performance in PHP and MySQL

I would like to implement a dictionary for searching words and their inflection. Dictionary size is about 60MB and it is stored in txt file.

目前我将整个字典( 600MB) 传送到变量中, 然后寻找有趣的词句。 我无法抗拒一种不恰当的印象( 仅为字典分配60MB的内存) 。

有人能推荐其他解决方案吗? 也许有其他方法可以在文件中搜索有趣的词组而不将其全部内容存储到内存中? 或者把整个字典放进 MySQL db 会有帮助(我可以切开字典,把每个字词都放进 db, 加上额外的 id 来识别不同词组之间的偏差, 这些词组将形成相同的根根) 。

最佳回答

当然,将字典放入 DB 会有所帮助。 数据库由于内部索引化和作为守护程序存放在系统记忆中而更快地工作。 搜索反省也会更简单、更快和高效地查询:

SELECT * 出自字典,其中的词像“ devel%”

将会得到“ 开发”、“ 开发者”、“ 开发者”、“ 开发者” 等。 还有许多其他的可能性。 唯一的缺点是您必须安装了数据库服务器。 另一方面, 如果同时连接20个用户, 装入一个完整的 Txt 文件在记忆中会消耗更多, 如果同时连接到 20 个用户的话, 因为脚本每次都重新开始 。

问题回答

我昨天回答了一个类似的字典问题:

一旦在数据库中找到它, 也搜索被回答的全文搜索