我最近一直在研究一些数据库搜索功能,并希望获得一些信息,例如每个文档的平均单词(例如数据库中的文本字段)。到目前为止,我发现的唯一一件事(没有在数据库之外使用选择的语言进行处理)是:
SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)
FROM documents
这似乎可行*,但您还有其他建议吗?我目前正在使用 MySQL 4(希望尽快为这个应用程序迁移到版本 5),但我也对通用解决方案感兴趣。
谢谢!
* 我可以想象这是一种非常粗略的确定方法,因为它也不考虑内容中的 HTML 等。这对于这个特定项目来说没问题,但还有更好的方法吗?
更新:定义我所说的“更好”:更准确,执行更有效,或者更“正确”(易于维护,良好实践等)。对于我现有的内容,上面的查询速度足够快,并且对于这个项目来说是准确的,但我将来可能需要类似的东西(所以我问了)。