我最近一直在开发数据库搜索功能,想要获取一些信息,例如每个文档中的平均单词数(例如数据库中的文本字段)。到目前为止,我所找到的唯一一种方法(不需要在数据库外使用自己选择的语言进行处理)是:
SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)
FROM documents
这似乎有效*,但您是否有其他建议?我目前正在使用MySQL 4(希望尽快为此应用程序升级到版本5),但也对一般解决方案感兴趣。
谢谢!
* 我可以想象,这可能是确定此内容的相当粗略的方法,因为它不考虑内容中的HTML等。对于这个特定项目来说,这还可以接受,但是否有更好的方法呢?
更新:我所说的“更好”是指更准确,性能更高或更“正确”(易于维护,良好的实践等)。对于我可用的内容,上面的查询已经足够快,并且对于这个项目而言是准确的,但是我将来可能需要类似的东西(所以我问了出来)。