Manual:記事数
記事数は、ウィキに存在するコンテンツページの数です。 これはウィキの統計ページ、&num マジックワード、MediaWiki APIの "siteinfo " クエリから利用可能です。
既定では、ページは次の際に記事としてカウントされます。
- 標準名前空間にあり(タイトルに「利用者:」や「トーク:」のような接頭辞が付かず)、
- 最低1つの内部リンクがあり(例えば "[[Main Page]]" というテキストは "Main Page" というタイトルのページへのウィキリンクを作成します)、
- かつそれがリダイレクトでない。
1つ目の条件は、変数$wgContentNamespaces を使用することで他の名前空間を含むように拡張することができます。 (一部の拡張機能 は導入時に自動でこの操作を行うことがあります。)
2つ目の条件は、変数$wgArticleCountMethod の値が "any " に設定されている場合、上書きすることができます。 (DefaultSettings.php で定義されている既定値である)"link" が設定されている場合は、ウィキリンクが含まれるページのみが数えられます。 これはスタブページであろうと曖昧さ回避ページであろうと変わりません。
3つ目の条件は変更できません。 リダイレクトは決して記事数にカウントされません。
MediaWiki の記事数の設定の変更
初期のMediaWikiでは、少なくとも1つのカンマを含むページを記事としてカウントしていました。 しかしこの方法は、カンマがあまり、もしくは全く使われない言語では不適当でした。(この結論に至った過程については、記事の数え方の変更を参照してください。)
MediaWiki 1.18 の前、記事をカウントする方法として、構成変数$wgUseCommaCount により決定する方法が使用されていましたが、これは同時に廃止予定になり、最終的にMediaWiki 1.24 で除去されました。
1.18以降は、変数 $wgArticleCountMethod が使用されるようになりました。
ただし、カンマの数に基づいて記事数をカウントする手法もまだ一般的です(例えばMeatBall:BiggestWikiを参照)。MediaWikiがこれを行って記事数をカウントする機能は、MediaWiki 1.31 で完全に削除されました。
最新バージョンの MediaWiki では、リンクの有無はデータベース テーブル上でも見つけることのできる pagelinks のデータベース テーブルと照合し、テンプレートまたはその他のページの参照読み込みによって作成されたリンクを含むかどうか検証します。特定のページの記事の状態を判断するとき、特殊なリンクとしてのカテゴリ リンク (ページをカテゴリに列挙) またはファイル リンク (ファイルを表示) などは数えません。それらのリンクが影響を与えるデータベースが同一ではないからです。
別の方法に変更するには、次のいずれかの手法を使用します:
MediaWiki バージョン: | ≧ 1.18 |
MW 1.18 以降
- $wgArticleCountMethod 変数で記事をカウントする方法を定義します。
MW 1.17 以前
MediaWiki バージョン: | ≦ 1.17 |
- カンマを含む記事のみをカウントしたい場合は、LocalSettings.php の $wgUseCommaCount を
true
にします。
記事数の統計の更新
記事数を何らかの形で変更した場合、その変更を反映させるためにWikiの記事数を再カウントさせたくなるでしょう。しかしこれは自動で行われません。これを行うには、コマンドラインでupdateArticleCount.php を実行してください。
データベースのアクセス権限しか保有しない場合、ページリンクのみを検査する(「link」メソッドに類似した)次のようなクエリを実行し、標準名前空間内の記事数の概数を得ることができます。
SELECT count(distinct(page_id))
FROM pagelinks
INNER JOIN page ON pl_from = page_id
WHERE page_namespace = 0
AND page_is_redirect = 0;