I really HATE Google Custom Search.

I really HATE that custom search that is present in Play/Create/such option. Please, make it so that we could try to search without having to use Google. I thought it was 2010s thing- it uses Flash. And besides, don't almost all sites have normal search anyways?


I agree, and you are not the first to say that. It does mean that ideas and solutions tend to get lost because people just cannot find them.

All the data must be stored in a database; it cannot be that difficult to search, so I do not get why it was set up that way.


I seem to remember from threads skimmed in the past that at least parts of this website use flat-file storage. The forum, in particular. And even if that wasn't the case, doing text search in a database is far from trivial.

However, there are alternatives to a Google Custom Search, such as the Duck Duck Go search box wizard. That should give results at least as good, while being more modern and private, and not requiring an account with them.


I seem to remember from threads skimmed in the past that at least parts of this website use flat-file storage.

Can you explain what that means? And why it would be a problem?

I would have guessed it used a SQL database because I cannot imagine why not (probably hosted on Azure like the Quest server), and it should be trivial to search.


I HATE when forums use the Google search as well. I never seem to be able to find anything related to what I am looking for and I know what I am looking for has to be some what popular. It seems to do the exact opposite of what I want though... maybe if I typed the opposite of what I wanted it would work...

NOPE!!! Still is a demonized piece of @#$%!

But seriously, why do forums use it though? Cheaper? Easier to maintain? It's Google, what could go wrong kind of attitude?


@The Pixie: Flat-file storage would mean the data is stored in ordinary files on disk, indexed by name and at most organized into folders, as opposed to a more sophisticated database. Unless care was taken to also keep an index of keywords or some such, every time someone used the search box you'd have to read each and every one of those files and see if the content is relevant.

And no, searching a proper database wouldn't be trivial either. A lot easier and faster, but in no way trivial.


And no, searching a proper database wouldn't be trivial either. A lot easier and faster, but in no way trivial.

Why is that? I would have guessed it was just a case of tokenising the user input, and then SELECT/FROM/WHERE/LIKE on the tokens. I use databases and SQL at work, but only in a pretty limited way, which is partly why I am asking.


@The Pixie: Then you know that data is spread across multiple fields and tables. Imagine having to write the queries that search for every keyword in each of them, then code to cross-reference the results so you only show each entry once. Never mind ranking them by relevance. It's plenty of work when you have just a handful of simple tables on which to run a plain keyword search. I can't blame volunteer developers with limited mastery of the codebase for not wanting to poke a sleeping dragon.


I thought forums naturally came with a search function to begin with though. How did all the old simple forums manage?


I thought forums naturally came with a search function to begin with though. How did all the old simple forums manage?

There's nothing natural about it. Everything a computer program does needs to be painstakingly coded. Popular forum software like phpBB has been around for a long long time, and its (many) developers have had time to add advanced features. This site however has a custom forum, made by one person along with everything else. And some design decisions at the time could have made adding certain features harder than it should be.


Why is that? I would have guessed it was just a case of tokenising the user input, and then SELECT/FROM/WHERE/LIKE on the tokens. I use databases and SQL at work, but only in a pretty limited way, which is partly why I am asking.

String comparisons are slow. You're effectively comparing each token in the search string against every byte in the text of all your messages to see if it appears there. If you have multiple tokens, you're effectively performing multiple searches and combining the results.

An unindexed search on a volume of text as large as this forum has the potential to seriously hit server performance. Now, most database engines provide decent facilities for text indexing. It could be just a case of telling the DB what kind of index to build for the 'message body' column, and then searching against that index. But in a forum like this, there's a chance you then run into more problems, because the indexing algorithm doesn't understand the difference between text and formatting markup, so searching for some HTML and CSS terms could find the formatting information for a post, rather than posts talking about that formatting … and I think a lot of the problems people are searching for help with involve HTML and CSS terminology.

Building an efficient search is probably the toughest and most specialised task in DB admin. Experts have done a lot of the work for you, but their solutions might not be best suited to the type of messages you're dealing with, and it can still take a lot of fine tuning.

I mean, MySQL's MATCH/AGAINST operators do pretty well when it comes to general discussion forums, because in natural language mode it can be made to pick out the important words in a sentence, with some knowledge of English grammar, and also find posts containing synonyms for the words you searched. But as it stands it's not ideal for a forum where a significant part of the post content is in another language (like Quest';s script).

There might be an easy solution that balances speed (and server resources) against functionality to reach a reasonable compromise, but sadly there isn't an out-of-the-box "best method" that you can just apply.


Back in the days when this was a proper forum as opposed to the unsightly mess Alex Warren left it as before disappearing, there was a built-in search facility that worked just fine. Any half-decent forum has one. Unfortunately, the days of Quest having a good forum are long gone, and the search facility, too. Until such time as the admins migrate to a proper forum, Google Search is what you're stuck with.


I'm new in this place and the Google search was okay to start with, but I miss a good advance search function.


I'm not sure why Alex switched from using an established forum package to something he made himself. I'm sure he must have had a reason, but I just can't get what it is. I have to say I prefer the old forums to these ones.


The motivation to change was so people had a single account for the forum and the rest of textadventures.co.uk. I think that that is a good thing. Whether that outweighs the downside is debatable...


I can understand the logic behind that, but we already had a really good forum here anyway so why get rid of it and use this one instead? I'm sure it would have been possible to keep the existing forum and simply move it here so a single account could work for both. Ruining the forum for the tiny advantage of a single account seems a strange way to go about it. After all, Quest survived with separate accounts for years.


Log in to post a reply.

Support

Forums