Currently the forum uses hash maps which becomes extremely complex and prone to glitches as the number of posts approaches 10,000.

I have determined that one solution would be to use linked lists instead of hashes. In fact, linked lists, also known as threads, is what most forums on the web use.

Will you be switching Jiskha to threaded message boards? If so, will the messages be searchable?

=)

Yes, I will probably use threads in the next version of the forum.

Yes, the messages will be searchable.

To switch Jiskha to threaded message boards, you will need to implement a few changes in the forum's structure and functionality. Here's a step-by-step explanation of what you can do to accomplish this:

1. Update the data structure: Instead of using hash maps to store posts, you will switch to linked lists (or threads). Each thread will represent a separate discussion topic, and within each thread, you will have nodes that hold individual messages associated with that topic.

2. Define the structure: Each node in the linked list (message/thread) can have fields like message content, author, timestamp, etc. Additionally, you will need to add fields like parent ID to connect replies to their parent messages.

3. Implement threading logic: To create new threads, you can provide users with an option to start a new discussion. When a user creates a thread, a new linked list (thread) is created and assigned a unique ID. This ID serves as the reference point for future replies to that discussion.

4. Allow replying to messages: Users should be able to reply to existing messages within a thread. When a reply is made, a new node will be added to the corresponding linked list (thread), and the parent ID will be set to the ID of the replied message. This way, the structure forms a hierarchy, enabling threaded discussions.

5. Enable search functionality: To make the messages searchable, you need to implement a search feature that allows users to search for specific keywords, authors, or other criteria. When a search is performed, the system should scan through all the threads and their respective messages, matching the search query and returning the results.

By implementing these changes, you will be able to switch Jiskha to threaded message boards. Users will be able to create new discussions, reply to existing messages, and search for specific content within the threads.