Commit dc32e54f authored by Steven Wittens's avatar Steven Wittens

Search.module:

- Caching index statistics
- Minor code cleanup
parent 90e67a3a
......@@ -1556,7 +1556,7 @@ function node_update_index() {
// cannot be indexed (PHP nodes which call drupal_goto, for example).
// In rare cases this can mean a node is only partially indexed, but the
// chances of this happening are very small.
variable_set('node_cron_last', max($last_comment, max($node->changed, $node->created)));
variable_set('node_cron_last', max($last_comment, $node->changed, $node->created));
if (node_hook($node, 'view')) {
node_invoke($node, 'view', false, false);
......
......@@ -1556,7 +1556,7 @@ function node_update_index() {
// cannot be indexed (PHP nodes which call drupal_goto, for example).
// In rare cases this can mean a node is only partially indexed, but the
// chances of this happening are very small.
variable_set('node_cron_last', max($last_comment, max($node->changed, $node->created)));
variable_set('node_cron_last', max($last_comment, $node->changed, $node->created));
if (node_hook($node, 'view')) {
node_invoke($node, 'view', false, false);
......
......@@ -127,7 +127,7 @@ function search_admin() {
$output = form_group(t('Indexing settings'), $group);
// Collect some stats
$estimate = db_result(db_query('SELECT COUNT(DISTINCT sid) FROM {search_index}'));
$estimate = variable_get('search_indexed', 0);
$nodes = max(1, db_result(db_query('SELECT COUNT(*) FROM {node}')));
$percentage = ((int)min(100, 100 * $estimate / $nodes)) . '%';
$status = '<p>'. t('Approximately %percentage of the site has been indexed.', array('%percentage' => $percentage)) .'</p>';
......@@ -200,6 +200,10 @@ function search_cron() {
while ($word = db_fetch_object($result)) {
db_query("DELETE FROM {search_total} WHERE word = '%s'", $word->realword);
}
// Count indexed items (for administration screen)
$indexed = db_result(db_query('SELECT COUNT(DISTINCT sid) FROM {search_index}'));
variable_set('search_indexed', $indexed);
}
/**
......
......@@ -127,7 +127,7 @@ function search_admin() {
$output = form_group(t('Indexing settings'), $group);
// Collect some stats
$estimate = db_result(db_query('SELECT COUNT(DISTINCT sid) FROM {search_index}'));
$estimate = variable_get('search_indexed', 0);
$nodes = max(1, db_result(db_query('SELECT COUNT(*) FROM {node}')));
$percentage = ((int)min(100, 100 * $estimate / $nodes)) . '%';
$status = '<p>'. t('Approximately %percentage of the site has been indexed.', array('%percentage' => $percentage)) .'</p>';
......@@ -200,6 +200,10 @@ function search_cron() {
while ($word = db_fetch_object($result)) {
db_query("DELETE FROM {search_total} WHERE word = '%s'", $word->realword);
}
// Count indexed items (for administration screen)
$indexed = db_result(db_query('SELECT COUNT(DISTINCT sid) FROM {search_index}'));
variable_set('search_indexed', $indexed);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment