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