Ok, I'm stumped. I have a Drupal 4.7 installation (upgraded from 4.6) containing a few hundred nodes and I can't convince the Search module to index all of them. I have Re-indexed the site several times, I have manually dumped the search tables and no matter what I do, the index will not grow to cover all the items in the site.
Somehow, my indexing issues are inexorably intertwined with the "Indexing throttle". This setting seems not to limit the number of items indexed during a cron run, but ever. If set at 100, 100 items will be indexed and the search_dataset table in the database reflects this. When cron is run again, nothing more is ever indexed. If I increase the throttle to, say 200, more items will be indexed, but again the total number will stop at 200. At present I have fewer than 500 nodes so choosing the highest setting gets my whole site indexed, but a solution this is not.
Another observation is that the "Indexing status" is never correct, it always reads "0% of the site has been indexed", even if some of it has been. Also, as has been alluded to above: yes, cron is running properly and my issue seems to be unaffected by cron running as scheduled or manually by a logged in user.
I have found several other search problems addressed on drupal.org, but no solutions have been applicable to my situation. Any help or insight greatly appreciated.
Comments
check admin settings and force cron maye...
May want to check settings for 4.7 search
make sure the module is turned on, likely because you say the message.
Check the admin settings, sounds like you found that page.
And hit cron.php several times with your web browser....
sounds like you tried the above, but maybe try again, It eventually
worked for me upgrading 4.6 to 4.7. Also I did patch to equiv 4.7.1....
and I did use FIREFOX instead of IE when accessing cron...
I recall on oscommerce that IE would sometimes timeout, yet I could do functions
with FIREFOX, so try firefox if you have not when accessing cron.php
and if from unix, curl wget or lynx.... may can be tweaked.
And ... Make sure you search from an existing page-
May want to see this thread:
http://drupal.org/node/66364
hope that helps.
Still no luck...
I'm Running 4.7.1, sorry I didn't make that clear before. Anyway, the module is turned on and I've been running cron.php from every browser at my disposal to no avail. As for the issue with the existing pages, this doesn't seem to make a difference for me, as the site is simply not indexed properly and some nodes never some up in searches no matter what page I'm on. I have searched but I haven't found anything I think is appropriate although please point me to anything appropriate.
This smells like a setting I've missed or a database issue to me. Thoughts?
epdp - did you find a solution?
cron.php / search.module failed to index most of my nodes.
Some tips on how to fix it.
You should check out your "variable"-table.
See i you have these records stored there, with similar values:
- statistics_day_timestamp i:1150719554;
- cron_last i:1150792942;
- node_cron_last s:10:"1150792006";
- node_cron_last_nid s:3:"812";
When you hit the "re-index site", the "node_search"-hook should run the code block in node.module which removes "node_cron_last" and "node_cron_last_nid". After running cron.php, these two variables should appear in "variable"-table again.
Make sure that for each node you have a corresponding record in the "node_comment_statistics"-table. We were missing the records in "node_comment_statistics" because we use an external script to mass load nodes into Drupal, and the script failed to update "node_comment_statistics". The index happened, but "node_cron_last" and "node_cron_last_nid" was never created in the "variable"-table.
If you are missing records in the "node_comment_statistics"-table, you should read this post:
http://drupal.org/node/50151
If that doesn't work, After going through the data, it seems that the timestamp-values for when a node is registered could have something to do with the problem you are experiencing...
http://drupal.org/node/67015 and http://drupal.org/node/42277 have some information concerning the timestamps.
The non-updating search index issue
Anyone running Drupal 4.7.x (particularly with MySQL 5.0) and having this problem should go read http://drupal.org/node/67015 I applied these changes and everything is working much better.
Imported node content - not indexing
Also, if you imported node content, apply the php in http://drupal.org/node/50151#comment-137637 to get your indexing running again. This also prevents the nulls.
Same problem
Drupal simply won't index any more nodes than what the "Indexing throttle" is set to.
So 500 nodes are indexed, but no more. I currently have 996 nodes, so this is a bit of a problem.
When hitting cron.php Drupal will only reindex the same 500 nodes... Which is kind of strange.
I'm using Drupal 4.7.0. Is this something which is fixed in 4.7.1?