![]() |
Search not working after upgrade to vBulletin 4.2.2 Patch Level 4
Hello all,
After upgrading from 4.2.2 PL1 to 4.2.2 PL 4 the site searching no longer work, i.e. when users visit the following link (New Posts): mysite.co.uk/search.php?do=getnew&contenttype=vBForum_Post They following message: Quote:
mysite.co.uk/search.php?do=getdaily and that results in the following message: Quote:
As another example, the site is motorbike related so it is a word that is used very often. If I search 'motorbike' I get: Quote:
Any ideas? EDIT: When running mysqlcheck I did notice a number of tables I don't recall seeing before. All with names as follows (the number at the end changes): taggregate_temp_1410699360 Is this potential and indication of a failed upgrade? i.e. temp tables being left behind? |
Quote:
|
Try rebuilding your search index and see if that helps. I would also clear my "searchlog" table if you're familiar with doing so.
|
Rightio, I have rebuilt the searchindexes using the command line utility as this is a mid to large site and doing this via ACP isn't really viable.
Unfortunately this made no difference, the problem still remains. Regarding the suggestion of clearing the search log. Are you talking about done a delete from / truncate of the searchlog table? Fairly simple to do via SQL admin but thought it better to check before I wade in with a delete command :) For reference, here is the output from the reindex: Quote:
Quote:
|
Did you issue the REPAIR TABLE quick commands for searchcore_text and searchgroup_text, and then rebiuld the FULLTEXT indexes, and then drop the old indexes from the tables, and then create new FULLTEXT indexes for searchcore_text (title, keywordtext) and searchgroup_text (title)? That has worked for me in the past to straighten out various db search issues.
|
Try disabling your server caching (apc?) and see if search works then.
|
Short story, still no worky
Long story.... I have stopped APC* by disabling at both PHP (via apc.ini and then restarting httpd) and also vBulletin (config.php). I also confirmed it was stopped by loading the APC admin panel and getting the following: Quote:
Quote:
As mentioned, neither solution fixed the issue. * As an APC related aside I have fixed the PHP warning warning that came up when running searchindex.php via the command line (i.e. PHP Warning: PHP Startup: apc.shm_size now uses M/G suffixes, please update your ini files in Unknown on line 0) |
This is what has worked for me...
Temporarily turn off forum access from the vB ACP... at Settings > Turn Your vBulletin On and Off. If you have modified full-text variables that affect indexing or changed the stopword file itself, you must rebuild your FULLTEXT indexes after making those changes and restarting the MySQL server. To restart the MySQL server, use the following command: service mysql restart Next, log into a MySQL terminal session. To rebuild the indexes it is usually sufficient to do a QUICK repair operation with: mysql> REPAIR TABLE searchcore_text QUICK; mysql> REPAIR TABLE searchgroup_text QUICK; Next, restart the MySQL server again: service mysql restart Next, rebuild your FULLTEXT indexes. To rebuild your indexes, you need to run the follow queries in sequence... But before doing so, emptying your search tables will speed things up. The queries to empty the tables are: truncate searchcore; truncate searchcore_text; truncate searchgroup; truncate searchgroup_text; Next you need to drop the old indexes off the tables. To drop the indexes, use the following commands: drop index text on searchcore_text; drop index grouptitle on searchgroup_text; Finally, you need to build new indexes. To recreate the specific indexes, use the following commands: CREATE FULLTEXT INDEX text ON searchcore_text (title, keywordtext); CREATE FULLTEXT INDEX grouptitle ON searchgroup_text (title); You can then go to your vB ACP and do an interface-executed rebuild session from there. To do this, go to the Maintenance > General Update Tools section of your vBulletin ACP. You optionally may want to empty the indexes from there before starting the rebuild process. Note: My search functionality wouldn't fully return until I did the following. Go to the Maintenance > Repair / Optimize Tables section of your vBulletin ACP and optimize the post and thread word tables. Next, you should probably then go to the Forums & Moderators > Forum Blocks Manager section of your vB ACP and click on Reload Block Types. Finally, re-enable your general forum access from the vB ACP at Settings > Turn Your vBulletin On and Off. Done. --------------- Added [DATE]1423066500[/DATE] at [TIME]1423066500[/TIME] --------------- One more noteworthy observation... I have noticed that after performing the above steps, there has been a significant latency period before the search function returned to normal. I'm assuming that such 'lag' to gain back correct search functionality is related to size of the particular database and the processor speed of the hosting machine in conjunction and how quickly those elements can complete the necessary work to restructure the indexes for the entire database. But that's merely a guess on my part. The main point is that once you've performed the above steps, you may want to give it a bit of time before concluding that things haven't changed. |
Wow, that's quite the headache. Glad you're finally sorted though :up:
|
Had to wait for the weekend to try the above...
Drum roll please.... It didn't work, still the same issue as described above (for more info on the steps performed see below) As a curious aside, one member was reporting that search was working for them. Turns out what they were doing was going into Advanced Search and under single content types selecting "show results as posts". Which is curious. Quote:
|
This may seem like a strange question... but have you recently attempted to change to UTF-8 encoding from ISO-8859 ?
|
Quote:
For the sake of completeness, over on vb.com it was suggested that the following should be added to the config.php PHP Code:
|
Quote:
Quote:
|
Quote:
|
Stupid question but.... is your Search Type set to DB Search or Sphinx Search?
If it's set to DB Search, how many rows in your searchcore and searchcore_text tables? Are there any errors in your error_logs (if you don't know where they are, ask your host) when you try to search? Has anything changed on your server lately? |
Quote:
Quote:
There are no "magic wands" in software support. If, for instance, someone has a corrupted file, whether it got corrupted in the download or the upload, how do you propose to fix that without uploading a fresh copy of the files? It's one of the first things that gets suggested in cases like this, especially where someone has recently upgraded, because, in my personal experience, it fixes the issue in roughly 40% of cases. If it doesn't...well fine, we''ll try something else. Support staff aren't magicians. We have to try a series of diagnostics to get to the bottom of what the problem is. As for the case in hand, it's looking likely that a support ticket will be needed so we can have a look at what's going on in more detail. |
Quote:
Quote:
Quote:
Quote:
Sorry, I wasn't trying to offend anyone. I was merely replying to the OP with my spontaneous thoughts. Probably shouldn't have done that. |
Three things....
1) Being somebody who works in IT I entirely get the "look at the basics / frequent / common issue first" way of approaching issues. 2) No point in turning this into yet another he said she said 3) Search on my site is working, no idea why. It started to work after a server reboot which I was doing for entirely different issues. |
Quote:
It's asking people to dowbnload a fresh copy of the files, and upload them to the server. It doesn't wipe out the forum and start it from scratch, it merely replaces the existing files with new copies. It's more similar to asking a computer user to reboot their computer and see if the problem continues. If we were to site down and analyze every single file to establish if any of them were corrupt, this would be hours if not days of work. Would you be willing to be many thousands of pounds for your license in order that sufficient support staff could be recruited and trained in order to make this feasible while retaining realistic response times? Or would it be better to carry on saying "you may have a corrupt file, please donwload a fresh copy of the files from the members area and upload them to the server"? Just because a solution is suggested a lot, doesn't make it an invalid solution. It's suggested a lot because it often works. --------------- Added [DATE]1423564788[/DATE] at [TIME]1423564788[/TIME] --------------- Quote:
A php ERROR will, in most cases, stop execution of the code. Meaning, the page won't load, you'll usually either see just a white screen, or else you'll see a white screen with the actual error in black text, and usually little else. An error means there is an actual error in the code, of some sort, could be a syntax error, or calling an undefined function, or any number of different programming errors in the code. A php WARNING is telling you something, but it does not normally stop the execution of the code (though if displayed on screen it may cause some functions to break or not operate correctly). The "something" it is telling you, is commonly that the function being used is "deprecated" - it will still work, but it may be removed in a future version of php. It os absolutely NOT an error, it's not rmeotely related to an error. A production server should, if it is set up correctly, be configured NOT to display these. However, many servers are not set up correctly, and thus display them. Ever since it started, vBulletin used to add code that supressed these php warnings in the event that the server was not configured to suppress them itself. In vBulletin 4.2.2, we stopped doing this. All that the line of code mentioned (SKIP_DS_ERRORS) does, is restore the previous behaviour. The only confusing thing is that the word "ERRORS" is used in SKIP_DS_ERRORS, really it ought to be SKIP_DS_WARNINGS and then we wouldn't have this discussion coming up endelssly. Short version: They aren't errors, and nobody's hiding any errors, there is nothing to "fix rather than hide", it's all perfectly legitimate. |
Quote:
As for the blanket file replacement troubleshooting measure, you've made your point. It makes sense and I agree with the reasons involved. Hence, I apologize for voicing my impulsive thought concerning the many times this step is suggested by vBulletin support folks. After all, as I've said, and as you've elaborated upon, it's not practical or time/cost efficient to identify corrupt files or code sections within a system when a direct blanket replacement of files is often able to solve the problems. |
Quote:
|
Quote:
However, whenever people say "vBulletin is rubbish because it hides errors rather than fixes them" - which is what started to get implied in this thread, as it does in many others -that inaccuracy needs to be corrected, or at the very least, the true facts explained. many do not have the required knowledge to understand what is actually happening, they simply read "vBulletin hides errors rather than fixes them" and assume that to be factual. That perception needs to be corrected. Some people make the statement because they genuinely think that's what happens - it is right that they should be corrected. Others make the statement because they have a certain agenda - again it is right that they should be corrected. I too get frustrated at the apparent interchangeability of the term "errors". When developers do it it's even more annoying. And as I already mentioned, vBulletin themselves compounded the issue by using "SKIP_DS_ERRORS" so I can fully understand why some people jump to the conclusion that we are "hiding errors rather than fixing them". I also understand that, to an ordinary person using the software, an ugly line of text appearing on the page with the word "WARNING" at the front is, as far they are concerned, an error....you would say "I'm getting an error message on screen" not "I am getting a warning message on screen" if describing the problem. What does frustrate me is when people such as Paul, who are actual php programmers, state what is really happening (and we as the support team often do also), and people argue and complain still (I'm not suggesting you do this by the way). |
Quote:
Quote:
So the impression I've taken from your replies in this thread is why I've pointed out that certain vB developers themselves are inclined to characterize the role of the SKIP_DS_ERRORS code line as that of turning off the extra "error reporting". And by the way, fyi, I do understand that non-fatal run-time warnings don't halt the execution of associated functions, and that fatal run-time errors are unrecoverable (i.e., they result in termination of associated functions). It's not a very difficult concept to grasp in my opinion. Lastly, I think you should be mindful that if I thought vB was "rubbish" I wouldn't likely be using it as a community platform. I hope that's at least some food for thought. |
Quote:
As for Mark and Edge, thanks but read point #2 in the post above ;) |
Did anyone ever figure out how to get the 'new posts' search to work? Topic got a bit derailed.......
My 'new posts' isn't working and I urgently need a FIX no response at vB.com forums either. |
This is what I have and it works
Code:
search.php?{session.sessionurl}do=getnew&contenttype=vBForum_Post |
Thanks, where do I put that?
|
Well, you could just try typing in that url (with your forum root at the beginning) without the session stuff, like:
Code:
www.mydomain.com/forum/search.php?do=getnew&contenttype=vBForum_Post |
Quote:
|
n/m i found it in Navigation... it's what was already in there...
any other ideas? Bueller? Bueller? |
I just repsonded on vbulletin.com, but this is probably a better place to discuss the kind of thing I was talking about. What I posted over there is:
The only thing I can think of offhand is that when the forum is in debug mode, you can display the queries that were done when building a page, and if you click "new posts" you can then see the query of the thread table and what the cutoff timestamp is. I'm not sure if that will help figure it out or not. I suppose if you're not getting any results then it must be that the cutoff time is in the future, or there's an error of some sort. OK, I looked at the code a little and looking at the query might help, because the other possibility is that some forums are being excluded for some reason. |
All times are GMT. The time now is 08:08 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|