私は最近、いくつかのデータベース検索機能に取り組んでおり、ドキュメントごとの平均単語(データベースのテキストフィールドなど)などの情報を取得したいと考えていました。私がこれまでに見つけた唯一のこと(DB外で選択した言語で処理せずに)は次のとおりです。
SELECT AVG(LENGTH(content) - LENGTH(REPLACE(content, ' ', '')) + 1)
FROM documents
これはうまくいくようです*が、他に提案はありますか?私は現在MySQL4を使用しています(このアプリのバージョン5にすぐに移行することを望んでいます)が、一般的なソリューションにも興味があります。
ありがとう!
*これは、コンテンツなどのHTMLも考慮していないため、これを判断するためのかなり大まかな方法であると想像できます。この特定のプロジェクトでは問題ありませんが、もっと良い方法はありますか?
更新:私が「より良い」とはどういう意味かを定義すること:より正確、より効率的に実行する、またはより「正しい」(保守が容易、グッドプラクティスなど)。私が利用できるコンテンツについては、上記のクエリは十分に高速で、このプロジェクトには正確ですが、将来的には同様のものが必要になる可能性があります(私は尋ねました)。