-
• #2
Will keep an eye out. That's one that's been ...ahem.... "bugging" me.. ahem... for a while ;)
-
• #3
I believe I've fixed it... but at the cost of the freaking software caching all of the search results.
I'll need to rethink this overall, but ultimately it works at the moment.
You'll find that the results of searches for things like ForSale will be cached up to 15 minutes.
-
• #4
Er, though I did just chuck everyone's cached searches to implement it ;)
-
• #5
How does the search work out of curiosity? Does it work on some kind of slocate type database that is regularly updated? Or does in manually do a search though what is there like grep? It seems too quick to to be a full search but it seems to be instantly updated.
-
• #6
The search is nuts.
It's based on a combination of fulltext index in mysql against the thread title, post content, etc... as well as a standard keyword fact table for things like the tags and usernames and user details.
What is nuts is the spaghetti code to try and not duplicate searches... a hash is made based on the search terms, and if an existing search record is found with matching hash (which includes search terms, sort order, sort column, ip address, user id, prefixes, etc)... then the new search is REPLACEd into the table, which effectively means the old search is deleted and the new one inserted... hence occasionally your search would say "no matches found", the real error is that someone else performed precisely the same search and that means that the old result was deleted when the new result was inserted.
Anyhow, this is based on a reasonable assumption that searches are reasonably unique. But that fails on LFGSS as I've put searches into the navbar with things like ForSale. So these aren't unique, and that means that the old results were being deleted every time a new person searched.
So during the peak of the day, the popular searches result in the search results constantly being deleted... it was becoming a more common bug the more concurrent people were online.
The problem is that spaghetti code... removing the search cache isn't really an easy task that I would be comfortable doing, but leaving it in has resulted in the issue. What I've done is to look at the MySql REPLACE statement and how it works... it deletes and inserts according to the unique key of the table, and as the unique key was a composite of three columns, to ensure that the only deleted searches relate to 1 specific user I've added another 2 columns to the tuple to make the cache work at a user level... so IP address and user ID. Both because guests all have user ID zero, so IP address will stop them stomping on each other, and user ID will mean that even those logging in from the same house won't affect each other (if they're registered).
Anyhow... to put it mildly, search is extremely complex.
-
• #7
But now the problem is that the search results don't get deleted... so I've forced a 15 minute delete of old searches. I'm still looking for a more elegant solution.
-
• #8
Interesting thanks.
-
• #9
? -
• #10
Just clicked on the Classifieds thread with the most recent post. Not working... Help :(
-
• #11
Just clicked on the Classifieds thread with the most recent post. Not working... Help :(
More info needed. I don't know what you mean in the second half of the first sentence.
If you want to report things, you need to give me the URL that you clicked, which an explanation of what you expected (even if it's obvious) and what you actually got.
-
• #12
Sorry, it was in the home page, in the "Last Post" column, in the classifieds section. I don't have the URL any more, because it's working today. But when clicking on the link to the thread, a page came up saying that the page I wwas looking for (the "For Sale" thread) wasn't available (Something like that). This also happens sometimes when clicking on links to LFGSS attachments (in the form of links, not the little thumbnails you get at the bottom of a post with images). Next time it happens, i'll send you a link, if that helps. Hope that's accurate enough, I knew that first sentence was awful, but I couldn't think of a better way to put it !
To try and resolve this long-standing bug I've disabled the ignore system.
You can still ignore people, just not forums and stuff.
Please let me know if you see that dreaded "No matches found" when navigating search results (such as the For Sale search).
Cheers